Although NeXT has interested me for sometime, my move to OPENSTEP actually started nine months ago. At that time, difficulties with C++ OOP had me looking at other OO languages. ObjC ended up as the language of choice for the reimplementation and there's been no reason to look back. About three months into the reimplementation GnuStep caught my eye and in another three months major portions had been shifted to the NSObject hierarchy.
While the GNU tools were fairly nice, we decided that a more ObjC friendly environment would be a GoodThing(tm). In the middle of all this, Apple bought NeXT. That pretty much clinched the decision and I set about gathering information on what was necessary to turn our Linux boxes (or at least the development box) into an OPENSTEP machine.
Hardware issues resolved, we ordered the software. Optimal Objects was the reseller at that time, but we ordered two weeks before Apple took over academic sales. It thus took about a month to receive OPENSTEP.
OPENSTEP 4.1 for Mach is dropped into my grubby little hands. I'm too busy to play with it, but I start reading the documentation.
Installed SCSI host adapter and disks. Cabling problems made things difficult; I can only have either the SCSI HD or CD-ROM going at once. Instead of waiting until Monday, I'll go ahead an install OPENSTEP (at least User) on the IDE drive. Configured the disks and moved Linux to the SCSI drive.
Installed OPENSTEP. I am a bit disappointed in the way OPENSTEP installs. For starters, it is more picky than even Linux when it comes to SCSI host adapter settings. It required the defaults, but I had altered the settings to get it working under Linux (previously installed hardware occupied the default address and DMA settings). I've decided to just switch things around in Linux to make both systems happy. Installation is pretty ugly until the Essentials have been copied over. I don't really have a problem with that since installation is rarely done, but it kicked into graphics mode right away which made me expect more. Once that was over, I was impressed at how well my DX2/80 performed. I played around for a bit, but eventually booted Linux. I need to read a bit more and grab some networking tools (especially PPP) off the net before I can make OPENSTEP useful as my primary OS.
I installed the Developer CD even though I'm still waiting on a fix to the cabling problem. I pulled a multi-port serial card to clear up some other problems. The bloody PC hardware is at fault; I expect the PPCs to work much nicer with Rhapsody. In working through the tutorials, I am most impressed with the development environment. I now plan to do all my ObjC programming with OPENSTEP and port (hopefully with little effort) back to Linux and other GnuStep supported systems. I have download a few of the essential networking tools (PPP, FTP, etc.), but haven't had a chance to install them.
I'm finding myself having problems because of BSDisms that I'm not very familiar with. Linux/POSIX seems so much more logical. I only poked for a short while, but I can't seem to get it to see my modem. Even the supplied fax program can't find it. A search of NeXTAnswers is in order.
I've made some real progress. All hardware problems have been solved. It turns out that you need the TTY Port Server drivers installed to use the serial ports in applications (I had thought that driver was for multi-port cards). I also found out that the supplied fax program isn't useful without special software for my modem (a ZyXEL); I'll likely just install mgetty.
I also got PPP working. It was actually more difficult to do PPP setup under OPENSTEP as compared to Linux, but not by a great deal. Be sure to read the documentation provided to cover all the bases. With a working link and GatorFTP, I started doing massive downloads. It's a bit premature to be grabbing a lot of software now, since I'll be switching disks soon, but I just had to start trying out things. I got Yftp (I didn't much like GatorFTP, and may just stick with ncftp as it is), NewsGrazer, ircII, OmniWeb, and a few other apps. I didn't have a great deal of time to check out all the nifty new software, but it is looking more and more like OPENSTEP will be my primary system.
On the development front, I busied myself working on more tutorial programs. I did transfer over my AgentD files as well as other projects I'm working on, but I doubt I'll be getting to them until I have reinstalled OPENSTEP in its final resting place on the SCSI drive.
Finally got around to doing the HD swap. I installed OPENSTEP on my SCSI drive and use the very nifty vmount tool to start moving things over from my Linux partitions. I've noticed that OPENSTEP has some problems booting from the SCSI drive. Sometimes it comes up fine, but other times it has a kernel panic. From what I've read, it is because it is trying to boot off the IDE drive (or at least use it as the root device). I hope to find a solution to this, but I don't really expect to be rebooting often enough to consider this a real hassle.
Everything is moved over or otherwise useful under OPENSTEP. I have PPP working under the new setup and vmount is making it simple to use my Linux /home as /Users (although it would be nice if there was native support for a common, non-DOS fs; I may look at modifying the Linux ufs source to work with OPENSTEP).
I finally started working on my own software as well as finishing up with the tutorials. I was hoping to get an update of AgentD out by the end of the month, but I'm going to invest a little more effort in it to make it more portable between platforms. I just hope GnuStep supports all the features I have planned...
I'm finally becoming productive with OPENSTEP. I have all the basic software I need for day-to-day tasks. Over time I'll try out the various versions of FTP, Usenet, Picture, Sound, etc. software. I downloaded and compiled a number of text tools that I had used under Linux. I'm not quite comfortable with the GUI, since it is so different from any I have tried before. It's hards to say if it is better or worse; I struggle with some things and with other things I find well designed solutions (on occasion, the same things I struggled with :). With an uptime of over two days, my switch from Linux to OPENSTEP has gone quite well so far.
Had to reboot. For some reason, OPENSTEP decided to suck up all my HD space for swap. 128MB of swap was never necessary for me under Linux, regardless of how much I hammered X. I hope this doesn't happen again; my HD is pretty small and I almost always have less than 32MB available for swap.
From information on the net, it appears that the swap problem is known bug, at least in part. It is well known that the swap file(s) don't shrink, but nothing was said about unbounded growth. What is unacceptable is the fact that the system completely locks up when it runs out of swap. I may post to a newsgroup if I can't find any usable solution (I don't consider constantly rebooting a solution). In the mean time, I've been scrounging for space to use for swap. That has brought to my attention other problems, namely OPENSTEP's poor handling of disk partitions.
There seem to be a number of tools for OPENSTEP that "handle" disks and disk partitions. The one I'm most familiar with the the command line fdisk. Under OPENSTEP, it is barely usable. It only seems to recognize the first two partitions of disks that weren't partitioned with it (which made using my Linux swap on the fourth SCSI partition difficult). Then when I tried to use a small NEXTSTEP partition on my IDE drive, I ran smack into some really foolish naming convention whereby the second partition is accessed with /dev/hd0a when under something like Linux it would come up at /dev/hda2. Finally, there is the BuildDisk tool, which appears to be worthless because of a number of shortcomings, including limits of two partitions, failure to read previously partitioned disks, size limits on the first partition, and the necessity of installing the system software. Clearly BuildDisk wasn't meant to add disks to a computer, but it doesn't much look like fdisk was meant for that either.
I've been too busy recently to keep the diary updated. The swap problem was effectively solved by getting rid of OmniImage. Some people said that the system doesn't properly free images (a window server problem with tiffs, I think), so an image viewer like FastView works out better. I've actually had an uptime of a week!
What I've been most busy with is my new job. A nice NEXTSTEP development position opened up locally in mid-June, and I was looking for a change of scene anyway. It does use NEXTSTEP instead of OPENSTEP, but the two are similar enough that this isn't a problem. I'm also learning to use EOF, which I've never had the need for before. So far, it's pretty sweet. A big thanks to NetEffects for getting me this job.
This diary is officially dead. A lot can happen in the span of 5 years. NeXT is gone but the technology lives on at Apple with Mac OS X (now at 10.2.1). As good as OPENSTEP was, getting back to full control of the hardware, as Apple allows as a systems company, has made things even better. The dot-coms have seen their ups and downs (my own, so far, being one of the survivors :-) and this technology keeps chugging along. I honestly do see, if not chinks in the armor, then at least some technologies on the horizon (and I don't mean any of the hyped BS buzzwords that are currently in fashion) that could replace or at least significantly change the way I write my own software. I'll give you another update in, say, 5 years.
Copyright © 1997-1998, 2002 Doc O'Leary