Older blog entries for wcooley (starting at number 11)

Personal: Well, been a while. No longer working for WireX. Living off unemployment and trying to build up some consulting business. Trying to get the ISP business into the black so I can start bringing in money from it.

For my class at PSU I've got a programming assignment to finish and one to do for this coming week--class ended last week and the final's on Tuesday. Still got a bit of catch-up reading to do. I suspect I won't do as well as I did last time. Being at home unemployed really messed up my schedule, notwithstanding the fact that I've got plenty of time. I don't think I'm going to take another class next term--it's lousy to be so unmotivated and pay for classes. I won't be able to take them in the fall either, since Erin and I are planning to go on vacation to Germany. So, I hope that by winter term I'll have settled into the unstructured consulting groove well enough to take a class or two.

Erin and I got a dog last weekend from the Oregon Humane Society, named her Matilda. She's a sweet thing. We had some problems getting her back into being housebroken--twice she held out for a couple days before doing anything. In between those periods she left a big mess on the floor in the living room. It's still kinda smelly, but she's going outside regularly now.

Erin has graduated from Reed and got a job. She works as a counselor for American Field Service, which runs high-school exchange programs. Her job right now is to communicate with potential host families and potential exchange students in the US and help them through the application process.

LNXS: Finally made release 0.2.0 a couple months ago. Have a few people trying it out. Haven't had a lot of time to work on it, but I hope once I've got the class out of the way I'll have more. I've downloaded and started playing with the User-Mode Linux patch. I intend to build a filesystem image so it can be easily used with UML. I hope this extends my range of testers.

One of my big goals for the next release, aside from the plethora of updates needed, is to be able to build it with it's own gcc and binutils, perhaps built as a cross-compiler. I've been told it's easier even when building for the same system; I'll see I guess.

I need to get more drive space all around. Now that I've got DSL at home, my hard drive on Rheingold is filling up. I've got a slow SPARCstation II that's got only a 400MB disk, which isn't nearly enough to build on. I hope to be able to use that machine for the first LNXS port, even if it takes all night to compile.

Ah, lots of progress has been made. Fixed the kernel problem by using a kernel built for the correct arch. The 'Illegal instruction' problem turned out to be caused by an erroneous installation of glibc that installed into /usr/lib, instead of /lib, so when I re-installed with the proper host type, the two libraries caused ambiguous resolution.

It feels like I'm never going to get a release out the door. I've been aiming for 0.2.0 for sometime around now, give or take a week or two. I've got enough of a system that I can install it (using the Slackware install floppies and manual procedure) and almost get it booted and working. I've run into a couple of nasty problems. First, I couldn't understand why GRUB wasn't working properly--I was afraid something was wrong with the compile, but it turns out I was mis-understanding how it was supposed to work when /boot was a separate partition. Finally, it booted, but my kernel didn't get past the uncompressing message. Turns out I'd accidentally built for i686, and installing on an i586. Rebuilt the kernel, only to figure out I'd built IDE support as a module. *sigh*

A much nastier and irritating problem is that glibc seems to be building for i686 somehow. I've installed the glibc RPM from Red Hat 6.2 and everything works fine. Using mine, however, certain applications, like 'mount' quit when trying to do certain operations with 'Illegal instruction'. A bit of searching on the web and looking at the Glibc FAQ indicates that it was built with optimization for i686, but I tried again, making sure the host type was correct and giving it the appropriate options, but it still fails. I'm hopeful I will resolve this sometime this week, and will be able to make at least a partially usable release very soon.

In hopes of getting this release out ASAP, I've decided to punt on building a better init system for now, and am just using the Slackware init system.

At least almost everything builds and installs. There are a few packages, like 'at', that don't, but I'm not terribly concerned with them. Of course, there are also a lot of packages that need to be added.

Whew. In the last few weeks I feel like I've gotten more done on LNXS than in the months before. After over a year since the first release, I feel like I'm almost ready to make another release. Should be soon.

Gosh, it's been almost a month again since I made an entry. Oh well. Been snuffy the last couple of days--stayed home and worked on Friday.

Been kinda listless at work recently. I've been there 6 months and I'm still putting infrastructure in place. And I'm doing no development. When I was hired, I was told I would admin part time (there were fewer than 24 used ports on the switch then--now we're starting our 4th switch in the cluster), and gradually slip into full-time development. Well, I'm doing full-time admin now. After a problem two weeks ago, I was told I had to be in at 8, which I mostly did last week. As you can tell, it's starting to be a drag. I don't mind being an admin, but I'd really like to get into actual development. I could make a hell of a lot more money doing admin work--I took this job because it's about the only Linux-centric company in town. Erin and I are going to my parents' for the holidays in a few weeks, so I'm not going to do anything until after then.

LNXS is alive again. I started working on it again last night; finally got GNU sh-utils to build. For some reason, trying to run autoconf produces a broken Makefile. I've got to fix fileutils, findutils, and textutils. Gaah. What a pain in the butt. Why can't all the released GNU software ensure compatiblity? Somehow, the working Makefiles for these packages are generated with super-secret versions of these packages, apparently not available to the general public.

Started working on a CD & book shelf tonight. Good to get my hands on something physical and my eyes away from computers. Plus, it'll be nice to get our CDs and paperbacks off the floor.

Been a fairly slow weekend. The starter or battery on my car died, so Erin and I have been mostly stuck at home. Ventured yesterday morning a mile up to Woodstock Blvd for coffee, and did a little grocery and liquor shopping while there. Went to the public library there and filled out and turned in my ballot. (Oregon's voting is done by mail; if you miss the deadline there are places you can drop it off, such as the public libraries.) I poked around the library there--it's pretty lousy. Their computer facilities take up almost as much space as their stacks, and most of the books are for children. There were too many noisy children there too. If I need a library, I'll walk the extra 1/2 mile and go to Reed's.

Just getting used to the rain again. Oddly, I've been feeling very motivated to do shit around the house. I hung up a coat rack I built last spring and cleaned a bit. I did 2 loads of laundry and washed one of my sweaters. I even replaced a button on one of my pairs of pants. Reorganized my books and sorted and filed a bunch of mail. Vacuumed the office some. If that sounds boring, it is. But if feels good to keep myself busy, especially with the weather starting to get me down.

Someone at work gave me a Palm IIIx, and I've been playing around with it. It's quite nice--I'm going to try to replace the myriad sundry notebooks I have with it. I'm picking up Graffiti quickly also. I need to get a sync cable for it. I try to resist too much gadgetry. I don't want to be too connected, nor be too geeky. I already spend most of my waking hours in front of a computer; I don't want to be unable to escape.

Finally got my system at home upgraded to ImmunixOS 6.2. I spend some time beforehand consolidating filesystems. I got myself into trouble by dividing everything up too small, and had too much space in some and not nearly enough in others. I probably need to get a second disk. My friend has said he has a line on 4.5G SCSIs for ~$30/ea. That would be a nice addition to my current 4.5.

Didn't get anything done with LNXS. :-( Didn't do much reading, either. Bought some ginko and started taking it. Bought some liquor and started drinking it.

3 Nov 2000 (updated 11 Feb 2001 at 16:57 UTC) »

I've been neglecting my journal. I haven't written in my personal journal in many months either. Marisa was bugging me about not updating this, so here we are. Hi Marisa!

Hm, not much going on with LNXS. Been bored with it lately. I'll get back to it sooner or later. I managed to set a small subset of the system working. It doesn't boot, but you can chroot in and do some shell stuff. I had to cheat, though--I move the build tree into the pseudo-root, chrooted in, and installed that way. Got around lousy Makefiles that don't support DESTDIR. No one else seemed much interested in it either. I've considered throwing in the towel and installing NetBSD.

Hm, not much going on at WireX either. Just same-old-same-old sys admin stuff. Finally managed to upgrade the web/mail server to ImmunixOS 6.2--it was 5.2 for a long time, because it is co-located way in the middle of nowhere.

It's starting to rain in Portland, as usual for this time of year. I've been paying too much attention to politics, too. That always seems to frustrate me.

My girlfriend has also been keeping a journal, so if you want to see what the other side of my life is like, it's at http://www.livejournal.com/users/rini.

I've been learning Python lately, too. Reading Learning Python--it's very good. I wrote my first useful program last weekend (or was it the weekend before that?), which generates usernames by randomly selecting words from the system dictionary, and generates random passwords, and runs htpasswd.

I just finished Zoo Station, by Ian Walker. The author is a British journalist who spent quite a bit of time going between East and West Berlin, and the book is about the people he knows and contrasting cultures, divided by a wall and about 50 years. Both East and West are portrayed in a way that seems fairly honest, or perhaps, favoring the East a bit. The author's writing was not bad--it was quite correct but also lacked character. Nontheless, I enjoyed the book because I find the subject interesting.

The other book in my bag is Bertrand Russell, written by A. J. Ayer, the author is Language, Truth, and Logic (which I have not read). This is a biography of Bertie by another of the most eminent modern philosophers. I am at a slow part because he's explaining Russell's work in logic, which, even though written for a layman, can be difficult.

Well, this is enough of a post for one day.

Well, still hacking Makefiles. Seems like /nothing/ supports DESTDIR, even most of the GNU stuff I'm working with. Oh well, let's hope my patches are accepted and the world is better off for my travails.

More CVS learning: When updating sourcing with import (which seems to be the preferred way of doing it), some files might be obsolete and not in the newly imported sources, which can sometimes cause Makefiles to break. So, after importing the new sources, do a merge between the two versions:

cvs co -j OLDTAG -j NEWTAG module

I updated PAM like this, however, and now a locally-added definition file is dead. Haven't been able to resurrect it. Re-adding didn't seem to work as it did with man. I think I know how to do it; I just have to try it.

BTW, I've been reading the CVS book Open Source Development with CVS, some of which is available on the web. It's helping me greatly to understand the problems I've been having. I purchased a dead-tree version and have been reading it on the bus--it helps so much to learn things in just-in-case style, rather than just-in-time--hunting around through the on-line docs trying to understand why what I just did didn't work.

Discovered more about make too. Found out that ifdefs and ifndefs are line-oriented, so I cannot use them within a single-line expression. Found out I also shouldn't pass $(MAKEFLAGS) on sub-invocations of make.

I wish there were a more thorough make book available. I read O'Reilly book, Managing Projects with make, and while it is a good book, it just doesn't go into enough detail and examples. I've been trying to read the GNU info manual (with help from texi2html), but it's a reference, not a tutorial, and somewhat sparse on examples.

Learned more about CVS today. CVS is weird--I knew that already, but now I understand it a little better. I ran a cvs remove on lnxs/usr.bin/man the other day, because I tried an import of a newer version and there were conflicts, and I'd hoped to not have to deal with conflicts. (I might have made some mistakes the first time I imported, like choosing by start tags.) However, the next time I tried to import, everything went directly into the Attic. Yuck.

So I read up a bit on it, and CVS sets the otherwise user-set "State:" field to "dead". I found out that state can be changed with the cvs admin -s <state> command. I looked up the "admin" in the Cederqvist manual, however, and it was not recommended that you diddle with the dead state, but that you use cvs remove and cvs add instead.

Well, after playing around with it, I finally copied the innards of the tarball I was trying to import into place, and with find I re-added everything. Now, everything is happy.

Lessons learned: Don't use cvs remove to make importing easier. To get files back from the dead, re-add them. Seems to be the only way. Don't try to use <code> tags in Advogato diary entries--use <tt> instead.

2 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!