Category Archives: Linux

Articles about Linux.

Linux 2.1.131

Introduction

It’s a long time since I used a development kernel. In fact, I don’t think I’ve ever just downloaded the source and built it myself. The last time I was on the cutting edge, it came as part of an installation of Slackware. I think it was 1.1.59, and seemed to be no less stable than the real thing. So maybe it’s a little surprising that since I moved up to a Pentium I’ve always stuck with the stable 2.0.x series?

Not really. I’m a coward, firmly fitting into the ‘if it ain’t broke, don’t fit it’ mould. Not only was I on a faster machine, but 2.0 was faster than 1.2. Why would I risk breaking things for a few extra percent?

In a sense, I think I was right. But I’m getting ahead of myself, let’s get the thing installed…

Quick Aside

I expect that most people reading this will already know about Linux’s version numbering conventions. If you fall into this category, you may as well jump to the next section.

If you’re still with me you may be wondering what all the fuss about Linux 2.2 is and why there aren’t any Linux 2.2 betas.

The reason is simple: way back when Linux 1.0 was released, Linus Torvalds decided that all stable, ‘release’ versions would have even version numbers. In the case of release 1.0.9, ‘1’ is the major version number, ‘0’ is the version and ‘9’ is the patch number. Since ‘0’ is even it is considered a stable, usable by ‘normal’ people version.

The version I tested was 2.1.131. ‘1’ is odd so this is a development kernel, usable by people that are prepared to accept the occasional glitch. Note, however, that the kernel is now in a ‘feature freeze’ which means that only bug-fixes are being added. Put another way, even this development version should be, and is, fairly stable.

Upgrade

Linux sits very much at the heart of your system, and any upgrade to it shouldn’t be taken lightly. That’s why, for pretty much the first time in history, I took a look at the documentation.

make config ; make dep ; make clean ; make zdisk ; make modules ; make modules_install

What could be easier?

Well, after being cushioned by using RedHat for a number of years it was a little confusing to be expected know which options I needed to set. Nothing I couldn’t deal with — and nothing unexpected — but I just want to make it even clearer that this isn’t something that someone who has difficulty installing a Windows 95 application would want to do.

I must confess, however, that it wasn’t as difficult as I’d expected. It only made me happier when I rebooted my machine and it started, apparently, without problem.

In Use

In use it doesn’t feel at all different to 2.0. Running some unscientific benchmarks I find that it is, indeed, slightly faster and it does use slightly less memory, but I don’t think that’s the point. The point is that it now runs on even more machines, from i386’s to Acorn Archimedes, in even more configurations, from SMP to X.25. The point is that it now optimizes for many of the Intel compatible CPUs and handles many of their bugs.

However, it’s not all rosy. The PPP daemon from RedHat 5.0 doesn’t work out of the box. You need to download and compile a new version. I found this more difficult than building the kernel! (The problem was that it expected to be built at /usr/src and failed anywhere else with screens of not very obvious errors.)

And I’ve not managed to get my 64AWE Gold working yet, either. This is more laziness than anything else, the instructions look fairly straight-forward.

More seriously, one of the main new features seems not to work on my machine: the graphical console drivers. Normally this wouldn’t matter too much. I spend almost all the time in X anyway, so some memory uselessly set aside just for the sake of being cutting-edge is not really worth it. However, one main benefit of the graphical console is the Tux logo when Linux is booting…

Actually, it is useful. It means that there’s a standard interface across all Linux platforms, from i386 to SPARC. But not, apparently, if your video card doesn’t support the VESA 2.0 standard. I would have thought that this is relatively rare. My machine is less than three years old but only supports VESA 1.2.

Other bits and pieces

Looking at Joseph Pranevich’s excellent “The Wonderful World of Linux 2.2” in this months Linux Journal (December 1998), it would seem that my ‘aging’ hardware is unable to take advantage of most of the fancy new stuff.

For example, if you have a multi-processor box, 2.2 will work much better. There’s improved support for non-x86 architecture machines and there are optimizations for non-Intel x86 machines, too.

Overall

The new development kernel is smaller and faster than the current stable version and still appears to be rock solid. I’m not sure how the development team keep managing it when the millions of dollars that Microsoft invest seems only to increase bloat.

However, the features that have been added seem to be there to please ever more niche markets.

In summary: the best has managed to get even better.

LyX 0.12.0

Introduction

When I was at university, a software engineering class had a huge argument with a lecturer. It wasn’t about any high flying computer science ideal, just how people do their word processing.

My lecturer maintained that people were interested in the text and the text alone. People should be willing to use standard text mode editors to lay down the text and then use a text formatter such as TeX to print it. The text and the formatting, she said, were completely separate.

Most students in the lecture agreed that while, say, Emacs could handle much larger files than Microsoft Word, most people were unprepared to hack around with command lines and obscure key-strokes just to write a letter. Most ‘normal’ people agree with us.

Unfortunately, the former approach has many advantages when writing long, structured documents. What we could do with is a compromise. What You See Is Almost What You Get perhaps.

LyX, as you may have guessed, is just that compromise.

What does it do?

In short: long documents. Okay, it’s quite happy letting you edit a letter, in fact it comes with a number of templates to allow you to do just that, but this is not what it excels at.

To test out LyX, I converted a long document that I’ve been using Microsoft Word to edit until now (don’t get too excited, this was a manual process!). Word wasn’t having too much difficulty with the size, but I was starting to have problems with styles and cross-references.

The first thing to note is that you have to be organized. It’s tempting in Word to just change the font or its size directly, but this is a big no-no in Lyx. You should create a style for every type of paragraph that you need. In my case I used the defaults that came with LyX and applied them to my text.

All this was incredibly straight-forward and very Windows-like. You can high-light the text by dragging the mouse over it (it turns cyan), delete text with the delete or back-space key and all the usual conventions — not something to be taken for granted in Linux.

Then I hit a bit of a problem. In Word, I had all my lines of code numbered. How could I replicate this in LyX?

To cut a long story short, while I’m sure that you can do it, I have no idea how. I suspect it has something to do with the style-sheets (like in Word), but I couldn’t figure out how to change it graphically and I have no inclination to start hacking around in the TeX source files.

In fact this is the most damning criticism of the program as a whole: you still need to know about TeX. If I’d wanted to know about that I might have stuck to Emacs! It is still a very useful program, but to get the full flexibility of the system you’ll need to get your hands dirty!

From bad to worse

Having found my first problem, things started getting even worse. I couldn’t get the cross-referencing to work either. I’m pretty sure that this time it’s because I’ve been brain-washed with nearly eight years of using Word for Windows. When I say that I want a cross-reference, I expect to be able to say which heading I want to reference and how I want it to be displayed (i.e. the text or the section number or the page number, or some combination of them). In LyX what I get is a box with five buttons and a message saying “No labels found in document.”

I managed to partly solve this by creating a number of labels which I could create cross-references to. However, this was nowhere near as flexible as Word. Do I have to create a label at the source of every cross-reference? (This looks like something else that’s been carried over from its TeX heritage.)

User Interface

Taking a step back from my difficulties, what’s it like?

LyX uses the XForms library, which some purists hate as you can’t get the source code for. In its favour, it does look very smart. The menu’s are a bit more ‘sticky’ than I’d like, but there’s nothing wrong with them. It makes LyX look like a modern Windows application, and I mean that as a compliment.

However, it’s not quite as intuitive as it might be. For example, many of the keyboard short-cuts are non-standard. What’s wrong with Ctrl-I to start and stop italic mode? How do I change the formatting of a style? How do I create a blank line?

It’s also fair to say that the configuration isn’t as easy as it could be. As has been mentioned before, I tend to use TrueType fonts rather than those that come with XFree86 and I wasn’t too upset to learn that I’d have to configure LyX to use them. It was good to see ‘Screen Fonts…’ under the Options menu; it was equally good to see that changing ‘times’ to ‘times new roman’ had immediate effect. What was not so good to see was that it had forgotten the setting next time I started. It turns out that the best way to keep the settings is to edit the ‘lyxrc’ file in the LYX_DIR directory. Okay, we can’t expect LyX to make global changes, but why not local changes?

Overall

As someone that writes many more structured, technical documentation than letters (sorry Mum), Lyx is just the kind of thing that I’m looking for.

It’s not as easy to use or well integrated with the print system or print preview program as Microsoft Word, but it is much better at handling tables and equations, not as though I use many of the latter.

However, for my purposes I think I’ll stick to dual-booting and Word 95. LyX shows a lot of promise and is very good at what it already does. However, I think that you’d have to be a TeX guru to get the best out of it, and that rules me out.

NEdit 5.02

Introduction

The bottom line is this: I’m lazy. At work I chop and change environments every few months. I usually manage to use Windows NT as my client OS. Then at the server end there’s Solaris or HP-UX. And then I go home and have Linux and Windows 95 to play with.

It gets confusing after a while. Emacs doesn’t think very much of me pressing ESCAPE-k-k-k-a when I try and put something at the end of the third line up. And Notepad is unimpressed with ^X^C when I try and quit.

No, what I needed was some consistency. ^C to cut and ^Z to undo, please and thank you.

And then out of no-where, NEdit appeared. (In all probability, it was Freshmeat, but you get the idea.)

What’s it do?

More than Vi and less than Emacs.

NEdit sit in the middle ground doing just about everything that most people want to do. It doesn’t check your mail, it doesn’t let you surf the net. But it does help you edit your text.

It will high-light the syntax of your program, and if it doesn’t know about the language that you’re using you can tell it. (I added most of PL/SQL.) It uses most of the conventions that you’ve got used to in Windows and the Mac — like ^Z to undo ^N to start a new document. I still sometime press escape at the end of a paragraph, but that’s just me being brain-washed into the ways of Vi at an early age.

To appease ‘normal’ Unix people, it is also scriptable. There’s a macro language and you can call programs from the ‘Shell’ menu. The macro language is nothing like Emacs, but does support functions and variables and seems to be able to do all the basic stuff and some of the more complex things that people want to do. (I’ve not had need to look at it in any detail, the truth be known.)

While we’re talking about configuring it, NEdit is very strong in this area. It is a little confusing at first — the obvious menu items refer to this session of NEdit rather than NEdit as a whole — but once you’ve lost all your settings a couple of times everything become clear! You can change just about any aspect of the program, from the font, it’s colour and size, through to the size of a tab character. And none of this requires the editing of a text file — it’s all menu based.

It’s all a bit too user-friendly to be a real Unix application, but I’m not complaining.

What’s wrong with it?

I’ve been using NEdit on and off for nearly six months now. I’ve used it to edit HTML, C, shell scripts, plain text, Perl and various configuration files, and there’s nothing that jumps up at me and says ‘that’s wrong!’

Okay, the help could do with being more Window-ish, but then it’s not something you have to use very much. There are some languages that don’t have syntax high-lighting built in (SQL and PL/SQL are the ones that immediately spring to mind), however there is a huge list there so I’ve probably just been unlucky — and I can add them myself if I want.

NEdit is supplied as two executables. The main one, nedit, does exactly what you’d expect. There is a second one called nc which is slightly confusing. As I understand it you should use nc most of the time. What it does it open the document with an existing copy of NEdit if there is one, and starts one if there isn’t. This is a useful feature, but I don’t understand why it couldn’t have been included as part of the main executable.

Finally, and this probably just the executable that I picked up rather than any of the author’s faults, the executables were not ‘stripped’ (meaning that it was over 200K bigger than need be). Still, it was easy to fix and it only comes in at around 2Mb, anyway (presumably with Motif libraries linked in).

Verdict

NEdit is a class application. It brings a simple to use, yet powerful editor to Unix. Since Emacs and Vi — incredibly powerful but ridiculously complex and user-hostile — still seem to be the most popular editors, this is something we need to bring Linux to the masses.

Abacus 0.9.3

Introduction

Linux seems to have many word processors, text editors and email programs, but other office applications seem to be rather thin on the ground. I’ve been looking for a decent spreadsheet for sometime as I have to switch back to Windows to use Excel every time I want to use one!

For all it’s faults, Microsoft Excel is a superb application and any other spreadsheet is going to have to try and compete with it at some level. I hoped Abacus would be it…

Installation

I normally prefer my applications to be available in RPM format, but if I can’t a GNU autoconf script is a fine substitute. Abacus, it would seem, has neither. It took far too much work to get it to run.

The main problem is not with the code, but with the documentation — there isn’t any in the distribution! I typed make to see whether it would work. Surprisingly, most of it seemed to run okay. It couldn’t find ‘yacc’ on my PC, which is quite reasonable as I have Bison instead. I loaded a few of the makefiles until I found the reference to yacc and changed it to ‘bison -y’ to force Bison to emulate yacc. This didn’t work either — it complained about some problems with the grammar. (I thought that Bison was upwardly compatible with yacc?)

I’d had a long day, so I was getting ready to pack the whole thing in as a bad job. After a strong coffee I decided to continue. I dug around for my RedHat installation disc and installed byacc and changed all the references from Bison back to yacc. This time it worked.

This was not the end of the installation problems, though. Typing ‘abacus’ resulted in the following error:

.//abacus: /tcl_interf/nxlc: No such file or directory

Again, someone without any development experience wouldn’t have realized that this meant that an environment variable hadn’t been set (it was expecting a pointer to the Abacus home directory). A quick scour through the source revealed that I needed to set ABACUS_HOME.

But even this didn’t solve the build problems! To cut a long story short, it was looking for a file called ‘version’ so it could display its version number when it started. (The distribution does have a symbolic link called ‘version’ but it doesn’t point at anything.) Having created the file, Abacus starts. Finally.

In use

Abacus starts with a splash screen with a professional looking logo. When the main screen appears, disappointment sets in. The majority of the screen is filled with a grid — what did you expect, it is a spreadsheet — while the top has the menu bar and a random assortment of garishly coloured controls scattered around.

When I first test a spreadsheet program, I usually create a few random numbers, total them and create a graph of some of the numbers. This covers much of the functionality that I use on a day-to-day basis and gives me a good impression of how easy it is to use. For the sake of comparison, it took me about two minutes in Excel 95, most of which was me playing about with some of the many options.

It took more than two minutes with Abacus. As I’ve been brainwashed in the ways of Microsoft, I entered what I thought was an appropriate formula for a random number: =rnd. While I now accept that this wasn’t the right formula, I still fairly certain that it shouldn’t have core dumped claiming that there had been a segmentation fault.

I never did find how to create a random number. I looked in the ‘function’ dialog box. There was a RAND function which sounded right, but whenever I selected it, Abacus added a quote at the front making it text rather than a formula. I’m not sure what was going on there.

Having given up on the random numbers, I entered some numbers manually and summed then using the AutoSum button on the tool-bar. After my experience up to this point I was surprised when it worked as advertised. You have to use it in a call immediately below or next to the cells you want to sum, unlike Excel, but I think I can live with that.

Next test: graphs. Step one: select the numbers. (Fine.) Step two: select ‘New graph’ from the menu. (Fine.) Step three: select the type of graph from the resulting dialog. (Fine.) Step four: draw out the area you want the graph to be drawn in. (Not so good.)

For the last step, the computer changed the mouse pointer to half a set of cross-hairs and seemed to forget about the graph. Left clicking the matrix didn’t do anything. Right clicking produced a run-time error from TCL.

Conclusion

I have to say at this point that I suspect that I hardly touched the surface of Abacus’ functionality. It may not seem reasonable to criticize a program having just a cursory look, but if the program is not easily capable of doing the very basic functions that I need I see no point in looking further. Numbers, formulae and graphs are the staple diet of any spreadsheet user and Abacus seemed to hinder any progress on this front.

Unfortunately, it looks as though I’m going to have to continue returning to Windows and Excel when I want to use a spreadsheet. Although Abacus is fully featured, it has more than enough annoying quirks to send me running away even if I discount the stability problems that I encountered.

However, it does show promise. Recode the user interface in C instead of TCL and write some documentation and it may be a winner.

About “The Penguin Says”

Why?

I’ve been using Linux since 1994, just after the first non-beta release version of the kernel came available (I think it was 1.0.9, but don’t quote me on it). In the early days I was a bit lost, I didn’t know much UNIX and I didn’t know much about the web, so I stuck to using the packages that came with the Slackware distribution. (At the time I didn’t need much more than the core development tools, anyway.)

Since then, I’ve got to know more about UNIX, Linux and the Internet and have started downloading and looking at a number of applications. Some of them are fabulous, others aren’t worth the time or bandwidth. But how should I know which is which?

As far as I can tell, there isn’t a way. Although there are loads of sites with links to programs and applications, there doesn’t seem to be anywhere that reviews and rates them. Until now.

The task ahead

There are thousands of programs out there, and all of them have a new version popping out once a month or even more frequently. How can I keep up?

I can’t. So, we need some ground rules:

  1. I’m not going to review everything. I want to promote Linux as a usable operating system, so, in the main, I’m going to look at ‘user’ programs — word-processors, web browsers — rather than the new version of GCC.
  2. I’m not going to review every release. I’m not even going to update old reviews. Each review will have a version number attached, leaving the user to decide whether it’s up to date enough to be relied upon.
  3. You’re going to help me! If you’re interested in helping, mail me.

Logo

‘The Penguin Says’ logo isn’t really mine. I took one of the logo’s found on Andreas Dilger‘s page and changed the wording (using Paint Shop Pro — I would have done this using the GIMP, but PSP is much better at resizing images). The Penguin was originally drawn by Larry Ewing, the logo ‘concept’ by Allen Petlock. I hope they don’t mind.

Me

I’m Stephen Darlington. I’ve been using Linux for a number of years now, and various forms of free software for much longer. This is my vague attempt to put something back — I spend all day writing computer programs so the last thing I want to do in the evening is more! I can, however, manage to bang a few words together.

AfterStep 1.4

Introduction

Many people believe that wine gets better as it gets older. This, however, is only partly true. Some wines taste much better young and all go bad eventually.

What does this have to do with Linux software?

Well, AfterStep is my window manager of choice (see my review of BlackBox for a discussion on what a window manager is) but, more because of laziness than anything else, I’ve been using version 1.0. I never got around to upgrading, but since I was going to do a review I figured that I’d better move to release 1.4 — the latest stable version.

Perhaps I’m getting old; perhaps it’s inertia of some kind; perhaps I just haven’t given 1.4 a chance to prove itself; but I prefer good old 1.0.

What is AfterStep?

I’m getting ahead of myself here. What is AfterStep?

Fairly apparent from the title, it’s a window manager that tries to look and feel like NeXTstep, Steve Jobs rather fabulous follow-up to the Macintosh.

Version 1 took that quite literally. It had a dock (“wharf” in AfterStep-speak) to the right of the screen, pop-up menu’s and gradiated title bars just like the NeXT machine. The dock is a column of large coloured icons that can either launch applications, shrink an application such as xload to display useful information, or both. It’s now in a number of other window managers, notably WindowMaker, but AfterStep was there first. 1 had little else — simple but effective.

For later versions, the authors obviously thought they needed to add stuff. (They seem not to subscribe to the ‘perfection is not when you can add nothing, but when you can take nothing away’ school of thought.) 1.4 takes the basics and adds more docks, more furniture on the windows, themes and support applications.

Installation

You know me by now — basically capable, but lazy. Rather than grab the source, I downloaded an RPM file and upgraded from 1. I expected 1.4 to take all my current settings, but it didn’t quite work like that.

In fact, the first time I tried it didn’t work. XDM simply flashed out of existence for a second and then reappeared.

Okay, dive back in as root and read the documentation. What’s needed is a GNUstep directory that can be copied from a shared directory. It’s not difficult and it is documented, but why can’t AfterStep do it for you? And how much do I have to copy? My home directory now have loads of icons in it — don’t think /home can put up with so much detritus for long.

And copying lots of configuration data from a central location meant that all my setting from 1 were lost. I’d quite like my old settings back, please.

In Use

It took me a while to get AfterStep to how I like it. I wanted a single dock filled with my favorite apps, a clock, resource monitor and something to track my PPP connection to the Internet. It’s all in a configuration file (much like AS1 but in a different place) the basics of which are relatively simple. I think I’ll use the separately available configuration program for anything more complex.

1.4 seems to have a much greater emphasis on multiple desktops, so much so that in the default configuration there are 16 of them! It’s quite neat that they can be split into categories rather (the defaults are Work, WWW, Mail and Games), but I suspect that most people would run out of memory before they run out of desktops. Personally I’ve never got used to multiple desktops and usually just have one very busy one.

Overall

Much in the same way that people use Windows because they don’t know anything better exists, I’ve used AfterStep for well over a year. I thought doing this review would kick start me into using something newer and better.

It didn’t. In many objective ways the newer version is an improvement. It looks better, it’s more configurable and more easily configured and it’s more standard. But something is missing. It doesn’t seem to be a huge improvement over 1, yet has a much larger memory foot-print and popular support is waning in favour of WindowMaker which seems to be advancing much more quickly.

So, sorry guys, but I’m sticking with version 1 and am very tempted to take a look at some alternatives.