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.

Netscape Communicator 4.04

Introduction

This may all seem like a pointless exercise. I mean, everyone has used Netscape, right? It is the most used browser for a reason. Or is it? This review is here for two reasons:

  1. Because everyone has used it. As one of the first reviews, you can see what I’m aiming for.
  2. Because many people don’t look past the hype. Microsoft bad; Netscape good. Reality is not as clear cut as this.

The main problem I have reviewing Netscape, is that browsing the web is supposed to be simple. A browser should be simple to use, and display any page you might point it at. With a few caveats, Netscape can do this and much more, but it does leave precious little to write about. Except the bad bits. What I’m trying to say is that, although this may look like a very negative review, there are lots of good things about Netscape. For example, this page has been put together using Netscape Composer, not as part of the review but because I think that it’s a good tool for the job.

How well does it display pages?

Since Netscape practically invented the web as we know it, it is hardly surprising that many pages are either designed for or work flawlessly with Navigator. Navigators hold on the browser market is such the many other browsers have actually implemented some of Netscape’s bugs so that their display pages much better!

I suspect that this state of affairs is unlikely to continue. Navigators implementation of many newer standards falls short in either completeness or implementation. The version of Java that Netscape provide with Navigator is significantly slower than that provided by Microsoft, although in its defense it is slightly more ‘pure.’ Cascading Style Sheets and DHTML is poor, and many plug-ins seem to cause it to core dump — not very user-friendly! (This last flaw is supposed to be fixed in 4.05, but I’ve not seen an RPM of this yet.)

It’s difficult to blame Netscape for X’s failings, but it does affect its page rendering. I find that X is nowhere near as good as the Macintosh or Windows at rendering fonts. Perhaps its the configuration of my X server, but I don’t think so.

Stability

Communicator has a very large memory foot-print. Just loading Navigator and loading a fairly simple page can take up to 20 Mb of memory, which although not unusual, does seem somewhat excessive.

One can partially understand the memory requirements when looking at the installation — just one executable. Composer, Navigator and the mail programs are all in one, huge executable. This is bound to stress the OS (Linux can handle it!), but does mean that Communicator dies when one component dies. I’ve lost work in Composer on a number of occasions while jumping across to Navigator to look at some web site.

Although it’s difficult to quantify this kind of thing, I feel as though I’ve had more stability problems with Netscape than Internet Explorer. Navigator also seems much more stable under Windows than Linux. This does seem contrary to most people’s experience, though.

Other Parts

Almost all of the review so far has concentrated on Navigator, since this is the part of the product that people actually download it for. The other bits are at least passable, though.

I suspect that Composer is the best WYSIWYG HTML editor available for Linux (not much competition!). It’s rendering of most pages is very impressive, although it can get very slow when there are lots of elements on the page — tables really start to bog it down — and it has no concept of frames. Probably a good thing!

The Mail and News client is very good provided that you have a permanent network connection. It doesn’t have off-line news reading like much of the competition, which is going to rack up your phone bill (if you have to pay for local calls) unless you can get another program to do this (there are many available, mostly for free).

Conference and Netcaster, two modules available in Windows, are not supplied with the Linux version. (I doubt that many people use them anyway.)

I installed Communicator using the RPM available from RedHat’s web-site (netscape-communicator-4.04-3) and experienced no problems at all. I think I’d have preferred it to have been installed in /usr/local/bin rather than /usr/bin, but if I wanted to be picky I could have downloaded the application from the Netscape web site.

Overall

My impression of Communicator 4 is that Netscape are starting to run out of ideas and inspiration. Navigator 3 came with many new and important features, but 4 just seems bloated. Why when I download a browser do I have to get a mail and news client and a HTML editor? Why do many of the features seem half finished? Why is the stability of the product only becoming acceptable after nearly a year? Why, when the competition are pumping out a significant release every six months, is Communicator over a year old?

But let’s not let this get out of hand. Netscape may not be the leading force it once was, but it is still a top class browser. It’s performance and features keep at the top of the pile for Linux (and near the top for Windows), and its re-launch as a free product can only help its popularity.

Psion Series 5

Introduction

‘The Penguin Says,’ as you know by now, is a Linux application review site. However, since high-tech toys such as PDA’s are likely to be of interest to many readers I thought I’d add a review. Don’t worry, I shall be keeping an eye on using it with a Linux PC.

So, what is the Psion Series 5? It’s one of the new breed of ‘super’ PDA’s; a full 32-bit computer with megabytes of memory and real applications. The main competition would be any machine based in Windows CE. Being a Linux user I do have a bit of an anti-Microsoft bias, though that is not why I bought a Psion. There are two reason:

  • the battery life
  • the keyboard

There are no CE machines with a keyboard of even similar quality. And the same machines can usually manage no longer than a claimed ten to fifteen hours away from mains power. The Psion does thirty-five.

To me, these two reasons make the Psion a much better machine than any of the others currently available. There are, however, other reasons.

In use

The 5 is a pocket sized lump of dark-green plastic. Well made, it feels as though it could take some punishment if necessary. (I don’t recommend you try this out: as robust as it seems, it’s still very expensive.) Until now, the Psion could be a WinCE palm top. Open it up and the difference becomes apparent.

The keyboard slides forward and the screen lays back to rest on the battery compartment, leaving the unit very stable even when you prod the touch-sensitive screen. The keyboard is fantastic. It is as good as many laptop keyboards and infinitely better than the calculator keys on all the competition. You won’t be able to touch-type, but with two fingers it’s quite feasible to get a decent typing rate.

Software

No-one reading this is going to be too disappointed to hear that the Psion doesn’t run Windows. Instead it runs EPOC32, Psion’s own 32-bit PDA operating system. (For the pedantic, EPOC is now owned by Symbian, a company owned by Psion and a number of mobile phone manufacturers.) Psion know what they’re doing, too.

The screen is always uncluttered leaving as much space as possible for your data. There is no task bar and no menu visible, and even the toolbars will vanish as required. (If you’ve never used a PDA before, this might not such a big deal, but screen estate is valuable and much is wasted on WinCE.) The touch-sensitive area extends slightly beyond the screen. Below are buttons to start the built in applications; to the left are buttons to summon the menu, cut and paste, activate the infrared port and zoom the screen.

None of the built in application are like their Windows or Linux counterparts, but they are by no means difficult to learn. I think it’s fair to say that they are more fully featured than their WinCE counterparts.

There is a terminal program built into the ROM that allowed me to log into Linux on my first attempt. Additionally, the CD-ROM has Internet software — a TCP/IP stack, mail and web-browser. I didn’t manage to get this working due to an incorrect cable (couldn’t directly connect the Psion to the modem) and incompetence (I don’t know how to set up the pppd daemon for dial-in).

It’s also worth noting that the 5 feels quite sprightly in operation. This is despite only having an 18 MHz ARM processor rather than one of the more exotic things that the slower CE machines have. (A Linux-like, no-bloat policy on EPOC32 is obviously in place!)

It can’t be all good?

There are some bad points. The screen, for example, is not as reflective as it could have been. The back-light helps, but really trashes the batteries.

The second worst thing probably stems from my UNIX background. I like to be able to use the keyboard for almost everything, unfortunately the Psion doesn’t like this. Although I can use most applications without going for the touch-screen, it’s difficult or impossible to switch between them. Something like Windows ALT-Tab would be ideal.

It’s also a shame that the synchronization software is proprietary and heavily Windows biased. This leaves little potential for a Linux port. Of more consequence, it means that you can’t install extra software, like the Internet bundle, without Windows.

Having used a Psion Siena for the last couple of years, it’s also disappointing to note that a couple of features from that machine have not been carried over. The most useful being able to display partial to-do lists in the weekly and daily views (e.g., all to-do items of a priority over 2). This all-or-nothing approach is annoying!

However, other than niggles, like the word Psion isn’t in the spell-checker, that is about all. The 5 really is that good.

Overall

Psion has nearly as much experience making palmtops as IBM has making PC’s. It shows.

Small. Powerful. Light. Well made. Easy to use. Nearly ergonomically perfect. The Psion Series 5 is all these things and more.

SFM (Simple File Manager) 1.5

Introduction

I’m not sure why, but I just about always use the Explorer to do file manipulation in Windows and always use the command-line in Unix. I don’t think that it’s just because the Unix shell is more powerful than the NT equivalent, although it is a factor. Let’s face it, some things, such as moving a number of files that have unrelated file-names, are much easier using a mouse.

It could be that I’ve not found a reasonable file manager in Unix yet. While the X-Tree like programs, FileRunner and the like, can be quite nice they just don’t seem to be a huge improvement over the command-line to me. Then, at the other extreme, you have the big, GUI packages. Click here; drag over there. It’s all point and click, often with no keyboard alternative.

I guess SFM sits in the middle. It uses the GTK+ tool-kit to display itself and, while you can click files a get a short-cut menu, the intention is that you do everything using the keyboard. An unusual approach, but does it work?

In use

I usually stay clear of GTK+ applications. It’s not because I don’t like GTK+ — in fact I think it’s one of the best looking and most functional of the many alternatives — but because there are so many versions in circulation that I always seem to have the wrong one and have, historically, ended up breaking just about everything on my machine by installing or upgrading it. SFM was quite simple by comparison. I chose a behind-the-bleeding-edge version because it claimed to work with GTK+ 1.0. It did, and what’s more I managed to leave the rest of my computer completely functional in the process.

The first thing that struck me when it loaded was how minimal SFM is. I know it claims to be the simple file manager, but you can take some things too far. In the middle of the screen is a list of files and directories, at the top is a panel displaying the current directory and at the bottom is a status bar (which is usually blank). There’s no menu, no tool-bar, no buttons, no hints.

So far is could quite easily be a character based application, but there are some concessions to GUI. One of the most noticeable is the use of colour. Colour-coding is used to good effect, with directories in blue, links in cyan, and regular files in grey. It makes it easy to tell which is which without resorting to obscure hieroglyphics that the command-line is so proud of.

And when I said that there was no menu, I mean that there on no standard on-screen menu. You can get a ‘context’ menu by right-clicking in the window. The menu has fairly simple options such as ‘up directory’ and ‘down directory,’ rename, delete and quit. Further down are its concessions to Windows terminology: you move files by cutting and pasting them. I actually quite like this way of working in Windows, but I know of a lot of people who think it’s annoying and counter-intuitive.

The sub-menu ‘More’ has a lot of not-very-obvious menu-items. What does ‘precise the action’ mean’? Why should I ‘fast quit’ rather than just exit normally? What does ‘toggle sort type’ toggle between?

Starting a theme

While I’ve started with the things that I don’t like, I may as well continue…

SFM is very proud of the fact that it’s entirely usable by keyboard. What they don’t say is that isn’t not always easy. Let’s see: select a file, press return. A dialog pops up asking what program we want to use to read that file. Only I selected the wrong file. Press escape. Ah. Doesn’t work. What I have to do it press TAB twice to highlight the cancel button and then press return. Neither quick nor immediately obvious. Worse, I select an executable and press return. It asks me what program I should use to run it. I don’t know the answer to that one.

Although I like the colour coding, I don’t think that it’s a good idea to label normal files using grey-on-white. They’re quite difficult to read and there’s no easy way to change them. I guess I could use the standard X method of diving into configuration files, but I think that a dialog is the best place to put them.

In fact it’s the lack of configuration options that annoys me about the whole program. Personally, I prefer not to see the ‘dot’ files in a directory — conventionally they’re hidden files and I’d like them to remain hidden until I say otherwise.

Overall

Some thing really benefit by having a graphical user interface, not all of them obvious. If you’d told me that there was a GUI version of ‘vi’ previously, I’d have laughed. But that’s what I’m typing in right now. It’s picked up the good GUI bit like scroll bars, point-and-click and menu’s for when I can’t remember the vast array of keyboard short-cuts.

As the Macintosh taught us, a file manager in a GUI environment can be both simple and powerful if it’s implemented well. Although I have no doubt that technically SFM is very good, as an end user tool it falls short of the mark. It’s neither especially easy to use nor fantastically powerful.