clarification: emulation vs syscall mapping

Martin Cracauer’s FreeBSD Page

[ . . . . ] in the FreeBSD/Linux case the base OS is very similar and the emulation layer doesn’t provide a full emulated system, but is a very thin layer to map the difference of the Linux and FreeBSD API. Since both are UNIX derivates, these differences are very small. No hardware emulation is required.

I was trolling through my referrals and found this page: very interesting overview of FreeBSD, both relative to Linux and in its own right.

According to this, calling FreeBSD’s Linux ABI an emulation layer is not accurate.

It clarifies some of what I have already learned, and supplies more detail (the stuff on how the ports collection works is interesting), and in general praises the FreeBSD team and their methods. Using the ftp archive at cdrom.com as a proving ground is interesting but I had no idea it was a single box. That’s walking the walk . . .

The bottomline is that FreeBSD is a complete system and through either a Net connection or media, you can update and support your system(s) without the headaches of any of the other packaging systems. NetBSD’s pkgsrc collection is similar: I thought it was joy to work with as well.

feh. those automounter docs need work

I followed the instructions, added the missing amd.conf file, and it looks like it works. But it doesn’t. Something like the cdrom device gets mounted, but nope. There’s nothing there.

The author replied to me that he would amend his article to include a reference to amd.conf, but I think it needs more than that.

Following bad information doesn’t cost anything but time, in a sense, but it devalues the good stuff.

how expensive is Aqua in OS X?

Quite, at least in 10.1.5. I have been meaning to test this for awhile. I logged out of my OS X machine about 2:30 this afternoon and kept an eye on the load graph. Without Aqua running, utilization drops to UNIX-like levels (ie, 0.0).

load graph

Even with the monitor off and no one sitting at the machine, it uses 20 – 30% of the CPU just being. As it is now, I still have network services (I have an NFS volume mounted from it on my laptop), and I can quite happily run interactive processes on it.

Seems like a good argument in favor of logging out at the end of the day.

Update: I discovered it was Classic, not Aqua, that was churning away. So leaving an Aqua session logged in, annoying and non-secure as that as that may be, won’t be a resource drain.

PS: that long load spike from 4 AM to almost 6 AM is a fink update I have in root’s crontab.

source /sw/bin/init.csh; /sw/bin/fink selfupdate-cvs && /sw/bin/fink update-all -y

It will update fink itself from CVS, then update any installed packages from the latest CVS checkins.

PPS: I keep this graphs here.

Zoe on FreeBSD means Java

To make Zoe (hmm, how to do an umlaut on an X display?) work, I needed Java to work, and as it turns out, it had to be 1.3.1, not 1.4.

The FreeBSD Ports Collection makes this a snap. cd /usr/ports/java/linux-sun-jdk13 and run make.

You'll need to agree to Sun's Community License and download the source from them.


===> linux-sun-jdk-1.3.1.04_1 You must manually fetch the Java 2 Development Kit 1.3.1.04 archive (j2sdk-1_3_1_04-linux-i586.bin) from http://java.sun.com/Download5?config-file=j2sdk-1_3_1_04.config&platform=linux-i586&Download=download, download the Linux GNUZIP Tar shell script into /usr/ports/distfiles and then run make again.

Couple of potential problems I found:


  • This will require the Linux compatibility stuff so you may find a raft of dependencies need to be resolved. If you have already handled this for some prior install, you'll skip it this time.
    You might want to make a link from /usr/compat/linux/var/lib/rpm to /var/lib.
  • You'll need to make link from where the java stuff gets installed to someplace where you can find it:
    rwxr-xr-x 1 root wheel 38 Aug 22 07:41 /usr/local/bin/java -> /usr/local/linux-sun-jdk1.3.1/bin/java

    The benefit to this is that you can then upgrade to the 1.4 release and simply move the link to point to it: if you need to roll back swap the link back.

When 1.4 failed to work, I filed a bug report with Sun and they suggested I try an RC they're making available. More on that later . . . .

document processing with LyX

LyX – What is LyX?

Many commercial word processors are based on the WYSIWYG principle: “What You See Is What You Get.” LyX, on the other hand, is based on the principle that “What You See Is What You Mean.” You type what you mean, and LyX will take care of typesetting it for you, so that the output looks nice. A Return grammatically separates paragraphs, and a Space grammatically separates words, so there is no reason to have several of them in a row; a Tab has no grammatical function at all, so LyX does not support it. Using LyX, you’ll spend more of your time worrying about the content of your document, and less time worrying about the format.

No, I didn’t get it working on OS X yet, but working with it on FreeBSD is pretty fun. It’s about time someone made an editing tool that did most of the work . . . .

MovableType and sendmail at loggerheads

For some reason, MT stopped sending me any notifications of new comments posted here: annoying, that.

I never figured out why, but I worked around it. The docs say that you can use your host machine’s sendmail daemon or install the Mail::SendMail perl module and use another mail server. I chose that and use my cable modem/ISP’s mail server and all seems well now.

I did the usual tests (sendmail -bv www, cat /etc/hosts | mail www ) and they always worked (www is the username that should get all the comments): it’s assigned to a different address in /etc/aliases that seems to work just fine.

keeping up to date with FreeBSD

FreeBSD Ports

Since I just rebuilt this laptop 2 days ago, I have been filling in the gaps of stuff I need to reinstall. I received this tip via email:


pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/All/cvsup-without-gui-16.1f.tgz
&& /usr/local/bin/cvsup -g -L 2 /usr/share/examples/cvsup/ports-supfile -h
cvsup2.freebsd.org

This will install the CVSup package, then execute it against an installed config file and update my entire ports tree, all 7000+ of them. And will probably do it in seconds as well: cvsup is lightning fast.

I love things like this: Apple’s software update is similarly cool.

plus ca change

“Some employers seem to be retaliating in this buyer’s market for the perceived arrogance of job seekers during the boom years,” said Janet Scarborough, a Seattle-area career counselor who hears countless horror stories. “Now that the supply-and-demand situation has changed, some employers are acting in unnecessarily callous or punitive ways.”

Salon.com article

Paul Beard, 38, the former director of technical operations for Fizzylab, a now defunct Internet infrastructure company, says that he’s been looking for a job in I.T. since Jan. 19. “It’s pretty bad. There are so many layoffs, and so many people out at the same time, and nobody is doing much hiring. They’re taking a wait-and-see attitude. ‘We’re waiting until second quarter before we make any decisions.’ It’s a buyer’s market, and the buyers aren’t buying.”