Return to FreeBSD Land

I forgot how fast my computer is supposed to be.

I recently installed FreeBSD 4.7, and after having run Windows 98 and 2000 almost exclusively for the last year or so, I'm happy to say I've gotten back together with...

My Ex

To recall, I purchased a 486 on eBay in 1998 and, having learned to configure DOS networking, installed DOS and Arachne. It was slow. I installed Windows 3.1 and Opera. It was faster. I installed Red Hat Linux. It was faster. I recompiled the kernel. It was faster. I was even able to play mp3's, unlike in DOS. I also transferred large files on the local network via ftp and compared all these installations. But, in the end, a single FreeBSD boot floppy...

I don't exactly remember why1 I installed FreeBSD. But I know that I installed it over ftp. And I know that my lowly 486 (it was 'obsolete' even then) in time became a very useable, even impressive, system. e.g. I typically surfed the web with multiple instances of the bloated Netscape 4.x while playing mp3's in the background as well as running altogether Mostly UsefulTM daemons such as xdm2, xfstt, telnet, ftp, etc.

1 Perhaps Red Hat was not fast enough? And I only had a 540MB hard drive which meant I had to remove a lot of programs. FreeBSD was, is, easier to install on a space-limited system and much faster on a marginal system like my 486 with 32MB RAM.

2 It was cool seeing my machine among the other machines (Sparcs) available on the local network for logon with X-Win32 et al. I also later transformed a 386 into an X Terminal, logging into Uma or whoever, with the assistance of Xdenu, an SMC network card, and a 1MB Trident video card. Details may be found at my old web site.

You Haven't Changed

FreeBSD hasn't changed significantly from this user's point of view. In other words, I recognize the installer. There are however, noticeable improvements, in configuration, that is, over the version I used three or four years ago. But I'm not talking in terms of the 'improvements' companies like Microsoft make, but, rather, the improvements in FreeBSD are documented, and, well, they actually make doing 'stuff' easier, but without appealing to the lowest common denominator like Windows or other 'user-friendly' operating systems. The following two sections are not about these 'improvements,' but are rather more mainstream in nature.

Font Support

I remember playing with 2 different font servers with FreeBSD 2.2.x and piecing together bits and pieces of information. But, yes, I had TrueType font support on Uma back then, and it was pretty nice. My old web site looked the same, anyhow, in both Windows and FreeBSD. Installing TrueType fonts is one of the first things I did with TAZ. No font server, of course, was necessary, as my X server supports TrueType fonts 'out of the box.' Sweet.

Consequence: It's difficult to empathize with people who complain about font rendering under XFree86.

Sound Support

Back 'in the day' when I was buying and selling hardware I played with a variety of sound cards. The FreeBSD documentation on sound card support, by the way, dates significantly later in comparison to the actual support in the kernel. I'm a little older now, so I understand this kind of stuff a little better, but with Uma it was quite a challenge getting different sound cards to work than today, when it's almost trivial. However, I chose not to use a FreeBSD compatible sound card at the time of this writing, but I do have support for my Roland SCC-1 enabled. In other words I play MIDI files (e.g. one of Chopin's preludes is playing as I type). Perhaps this will change, maybe in the next few days, as I fall deeper in love with FreeBSD.

Update: I switched over to my onboard sound, and said goodbye to my SCC-1 and my PCI sound card, for the meantime, anyway. All that was necessary was to add 'device pcm' in my kernel configuration file. A pleasant suprise for me was that prboom uses timidity for midi. BTW, I'm using Noatun for mp3's.

Optimizations

I'm a control freak.
If it works, why fix it?

Perhaps from the very beginning of my computing experience I've had the desire to have complete control over my system. FreeBSD allows this. There is no doubt that there are UNIX-like operating systems in which this level of configuration is possible, or in other words, can be configured entirely through editing text files. But I doubt that there is an operating system that is as much fun to configure as FreeBSD in this manner. It doesn't hurt that FreeBSD documentation is 'nicer,' than, say, most Linux [distribution specific] documentation, but it goes without saying that much Linux documentation is also applicable to FreeBSD.

The Fast

It goes without saying I compiled my kernel to include only the devices and filesystems I use. On Uma, my 486 with 32MB's RAM, a custom kernel improved performance significantly. However, on TAZ, I haven't noticed the difference, though I'm certain there is one. I used FreeBSD 2.2.x with Uma, and I knew exactly what was needed in my kernel. However, with FreeBSD 4.7, I regretfully3 can't say the same. Regardless, the amount of control I have in FreeBSD is incomparable to the amount of, or rather lack of, control I have in my Windows 2000 install. There's probably still room on TAZ for optimizations in terms of memory utilization. But really, I have 384MB's RAM, and I'm using FreeBSD as a desktop OS, so this is a nil point.

3 I don't have all the unnecessary devices or options disabled, partly due to my 'vacation' and, well, the FreeBSD kernel documentation to be always one or two, or more, steps behind FreeBSD kernel development.

The Not So Fast

The slowest part of most if not all systems is the hard disk. I have SOFTUPDATES enabled on all FreeBSD partitions except for the root partition, of course. If I remember correctly, the last time I used FreeBSD this was a relatively new feature, and, additionally, DMA wasn't even available. I use MFS, or memory file system, for /tmp. This basically means temporary files are stored in virtual memory, which includes both my physical memory and my swap partition, the former, of course, being utilized first (However, I'm yet to use swap). There's probably room in this area for optimizations (e.g. enabling DMA). Boot up and shut down is for all practical purposes instantaneous, as is running even large programs like OpenOffice, to exagerrate a little. Nevermind I have a 7200RPM IBM, but my FreeBSD slice is on the slowest part of it. For the curious:

  1. / 100MB
  2. swap, 2 * RAM, minimum 64MB, up to 256MB, then 1 * RAM, up to 1GB
  3. /var 300MB (/var/tmp is used for port/package installation)
  4. /usr 2G or 3GB, or rest
  5. rest /home, or link to /usr/home
  6. /tmp -> swap via MFS

Interface

The only "intuitive" interface is the nipple. After that, it's all learned. Bruce Ediger

With Uma I had fvwm2, pdksh, and rxvt from source compiled, by necessity, in order to save memory. I also chose these programs for their UN*Xness, especially fvwm2 with its ability to emulate mwm effectively. With TAZ memory is less of an issue, but I prefer to be efficient.

tcsh

I had problems with pdksh and my backspace and delete keys, and I didn't feel like reading, so I installed bash, but bash did some unpredictable things, that is, things that I did not predict would happen. So I went with the stock tcsh. All I really want is filename completion via tab and history with the up and down arrows [by default]. I haven't done any scripting, FYI.

Hackedbox

Hackedbox, a blackbox derivative, is pretty sweet. I agree with the maintainers' philosophy... UNIX is really about control. But you don't have to work for that control if someone out there thinks like you do and had already written or modified a program, like the Hackedbox maintainers and blackbox. I like this window manager because there will be no more features added, and there is no toolbar as in blackbox, but it supports blackbox's themes. It's simple and elegant. However, I'm missing 'stays on top' functionality...

Update: I have switched to Windowmaker. pdksh is probably next. man stty?

rxvt

With the availability of desktops like GNOME and KDE, and the included applications, one may think, 'rxvt???' Well, I have somewhat adopted some of the 'new' graphical programs available like bbrun or kfind. But to me there is nothing like the command line. It'd be nice to do file management graphically, but, I guess I find it more efficient to use the command line. Anyway, I like terminal emulators, and rxvt is one of the best and doesn't cost any money, so there.

Update: wterm is my current terminal emulator, though I haven't actually used it's features.

Work and Play

I decided to do all my web development4 under FreeBSD. Well, I had to have an excuse to install this BadassTM operating system. With the availability of OpenOffice, there's really no reason for me to be in Windows. Yes I play games, but the games I play the most are games available on FreeBSD either natively or through the Linux compatibility5 mode. For example, I have Doom support with prboom and the Linux version of ADOM, not to mention numerous X and KDE games. I'll have Freeciv set up shortly as well. Civ is addictive.

4 XHTML, CSS, and, regretfully, Javascript and DHTML

5 FreeBSD 4.7 is binary compatible with Red Hat Linux 7.1.

I can spend pages talking about my favorite Open Source applications6, but, in terms of web development, I have Netscape 4.x, Opera 6.x, Konqueror, and Lynx installed and running. As for the rest, why not try for yourself? However, if you're relatively 'new' to UN*X systems, I suggest Mandrake or Red Hat Linux. There are also 'live' CD's available that you can boot Linux off without touching your hard drive.

6 mtools makes file transfer between my Win2k installation and FreeBSD easy. MToolsFM, an X-based front-end to mtools makes it trivial. But I also have my D: drive mounted at /mnt/dosd, and that along with the indiscriminate use of symbolic links makes the use of my data drive, or rather FAT32 partition, effortless.

Advocacy

Windows 95 ----> Windows NT ---> Red Hat Linux --> FreeBSD -> NetBSD --> enlightenment

FreeBSD is About Choice

I can make FreeBSD work the way I work.

I can choose to have a minimal system, or a resource intensive one. In the Windows world, and much of the Linux world, there is little choice in this matter. I ran FreeBSD on a 486. I run FreeBSD on my PII 400. There is little if no difference in resource utilization. But I can run a GUI that'd make XP or MacOS X users cry if I really wanted to. And I can do everything in FreeBSD I can in Windows. Yes, FreeBSD is free. But that's not as important as the freedom FreeBSD allows.

Support and Documentation

I've taken night courses, mainly for wannabe computer techs, this last year or so, and I can say that I don't trust anybody from a Windows background for technical support. Windows users, or techs for that matter, are much less knowledgeable about all-things-computer-related than their UN*X counterparts. Maybe UN*X requires more knowledge or a better or an actual understanding of systems, and/or, maybe UN*X simply attracts more intelligent people. Does it matter? These are the same people who are going to help you fix your problems. But it doesn't even come to that most of the time as documentation is always available in some form, and there is always a solution, as opposed to the Windows world, where oftentimes the quickest solution is to reinstall the whole system.

True Story: I was taking a course for Win2k server, and due to a bug, we were all locked out of our Administrator accounts. The solution? The guy next to me looked up the problem in a hacking site, downloaded a utility, and remotely reenabled the account on his computer without having entered a password. By the way, the utility was written by Microsoft.

In a Nutshell

Performance

This is the highest performing operating system on the x86 platform. Make your legacy hardware functional again. Make your not-so-legacy hardware go zoom. Make your Uberbox into a high-end UNIX workstation. Get the most out of your hardware, whatever it is, that is, as long as it's FreeBSD's compatible. As a note, all computers I purchase in the future are configured for use with as many different operating systems as possible. This method of choosing hardware also tends to produce the most reliable systems.

Reliability

This is the most reliable operating system on the x86 platform. My first operating system was Windows 95 Upgrade. And I had a tendency to play with configuration and different softwares. I guess I'm saying is that if Win9x didn't suck so much, I wouldn't be emphasizing this quality in an operating system as much as I do. The UNIX security model is something I really like. It's impossible for me to break things as a user. If something does break, then I know it's my fault, and I was doing something as root I shouldn't have been doing in the first place. And it doesn't hurt that much open source software tends to be well written and largely bug-free, neither. I like not having to worry about losing my work, or, for that matter, rebooting.

Functionality

A large ports tree makes it easy, even trivial, to get the native version of my favorite UNIX app. Linux binary compatibility doesn't hurt, nor does the general growth in availability of end-user-oriented open source applications.

Documentation

Since FreeBSD is not, say, Red Hat Linux, it can be documented. In addition to the official sources of documentation, there are articles readily available that help one get more out of one's system. This is a really important thing for me. However, I don't hate Red Hat. Red Hat isn't Microsoft, it's Linux, and version 5.0 was my first UNIX-like OS, and it gave me unprecented control over my computer. More importantly, Red Hat is in no small part responsible for the exponential growth of Linux installations, and I highly recommend it, or Mandrake, for people new to UNIX.

Configurability

This is related to the documentation and performance. While this is a Freenix strength in general, I think FreeBSD can be more easily configured for, one, optimal performance, and, secondly, for me or the way I want to do things. For example, the facilities for configuring one's desktop in a User FriendlyTM Linux is not desirable to me. I don't like the idea of having to take the extra steps to have a configuration consisting of text files that I created and edited.

Links


[ Best Viewed With Any Browser ]
Copyright © 1997 Mark Santos. All rights reserved.
All trademarks are owned by their respective companies.
Most recent revision: Thursday, October 31, 2002