Tag Archives: review

Open Sources

Introduction

This is a very strange book by almost any criteria. Firstly, much of the content is available on the web in one form or another. This includes an appendix which is literally a Usenet discussion printed. Secondly, most of the writers are techies first and writers second. You don’t get that kind of admission from most writers, even when it’s obviously true.

Content

There are fifteen essays by eighteen writers. I’m not going to go through all of them, but I shall note some of the highlights.

The style prize, without doubt, goes to Larry Wall for ‘Diligence, Patience, and Humility.’ It’s one of the longer essays, has dozens of useless-looking diagrams and for much of the time seems to go nowhere. You keep reading, though. You may not see where it’s going, but you’re intrigued. And it’s worth it — despite initial appearances, it does go somewhere!

As a Linux-biased web site, I couldn’t miss out Linus Torvalds piece, ‘The Linux Edge.’ His simple message — Linux has survived by having a good design — is thoroughly investigated, but the best bit is that he criticises just about everyone else in the industry, often without much justification, and still comes out the other end smelling of roses! I’m not sure how he did it, but I know I’d hate Bill Gates more if he said pretty much the same things.

As always he comes across as very modest, and attributes many of the good ideas to other people.

I liked Marshall Kirk McKusick’s potted history of Unix too. I think I’ve seen much of that before, but not in one place.

Since he practically started the whole thing, I need to mention Richard Stallmans ‘The GNU Operating System and the Free Software Movement.’ It’s an interesting piece in that he contradicts some of what the other authors in the book have to say (as has been well documented, he dislikes that phrase ‘Open Source’ and demands that people call it ‘free’ software). It’s clear that he knows exactly what he wants and where he wants to go, but it’s equally clear that he’s going to put a lot of businesses off free software if he keeps going the way he is. RMS, I respect what you’re saying, but calm down!

The final mention goes to the two Eric Raymond essays. Raymond has been at the centre of the Open Source movement since the Cathedral and the Bazaar,’ and fully deserves the opportunity to write two pieces in Open Sources. The first piece ‘A Brief History of Hackerdom,’ describes the key points and people that gave rise to our current position. The second, ‘The Revenge of the Hackers,’ looks to the future.

Like much Raymond stuff, some is ‘personal’ and has a number of anecdotes about himself. It seems that many people hate this, but I feel that where it doesn’t get in the way of the message and while it’s still interesting and well written, it’s fine. The two essays are, indeed, fine.

Overall

I can’t really criticise this book. All the people in it are more influential than myself, better developers than myself, better writers than myself or, more commonly, all of the above. So while I like some of the writer more than others, and while I actually disagree with some of the assertions made, it is, at least, well written and thought provoking.

As a book intended to document the new-found popularity of the Open Source model, the book is a classic and a must-buy.

The facts

Author: Edited by Chris DiBona, Sam Ockman and Mark Stone

Cost: US$24.95

ISBN: 1-56592-582-3

Buy this book from Amazon.com or from Amazon.co.uk.

Accidental Empires: How the boys in Silicon Valley…

Introduction

This is neither a new book nor a new purchase for me, so why am I reviewing it? Bottom line: it’s a book that I’ve enjoyed a lot over the years and one that I feel the need to recommend to as many people as possible.

What’s in it?

The obvious format for a book on the personal computer industry would be chronological, but as he points out early on in the book, things just aren’t that simple. Instead he uses what, on paper, might look to be a random arrangment of anecdotes, jumping from Apple to Xerox Parc to Microsoft and IBM in the matter of a few pages. But that’s just the nature of the beast.

What’s good

Cringelys writing is easy and engaging to read. It would be very tempting to just sit down and read the entire book from beginning to end. It’s friendly, chatty and full of interesting little anecdotes about all the main characters, from Bill Gates to Steve Jobs.

He freely admits that he’s not been a true historian. He’s missed out some arguably important stuff, but it would take a long, dull book to get all that information in. The charm of Accidental Empires is the fact that it’s easy to read.

Conclusion

When I do reviews, I normally have a section on the bad stuff. I don’t have one here. That’s not because the book is flawless, but because it achieves perfectly what it set out to do.

If you’re at all interested in how the PC industry came to be, this is the book for you.

The facts

Author: Robert X. Cringely

Cost: ?6.99

ISBN: 0887308554

Oracle Builtin Packages

Introduction
Steven Feuerstein’s ‘Oracle PL/SQL Programming‘ book has, over the last couple of years, become my bible on the subject of writing sizable Oracle PL/SQL programs. As I said in my review, it’s useful because it covers just about everything, including the things that don’t work.

So if that book covers just about everything, why would anyone want to buy ‘Oracle Builtin Packages’?

Content

In fact, as the first chapter of the book explains, this entire book was origianlly chapter 15 of ‘PL/SQL Programming’ but Oracle complicated things by adding more to the PL/SQL programming language (all the pseudo-object oriented stuff in version 8 ) and many more new or enhanced packages. The result: either a single two thousand page monster, or two more reasonably sized tomes.

But like the first book, this is still a bit of a monster in its own right. It stands at 931 pages and there’s very little padding; if only all technical books had such a high signal-to-noise ratio!

It seems rather pointless to go into detail on the content of all the different sections…

The two chapters that I’ve used the most are those on DBMS_FILE, which allows you to manipulate operating system files, and DBMS_SQL. Just about everything I know about these modules I learned from this book. When I was originally writing the code, ‘Oracle Builtin Packages’ was by my side, open at the relevant page. When colleagues mistakenly thought I knew what I was talking about, this book was open beneath my desk giving me superiour bluffing ability.

The main critisism that I can think of is that some of the material is getting rather out of date. The DBMS_SQL package is no longer as necesary as it used to be — Oracle 8i introduced some new syntax to the PL/SQL language that largely replaces it.

Conclusion

I’ll be brutal: in marked contrast to Feuerstein’s first book, if you regularly write PL/SQL code you can get by without reading this book.

But you will be more productive if you get it. You won’t be spending days writing code to do things that Oracle have kindly supplied a routine to do and you won’t give up on PL/SQL and write a program in Pro*C because you don’t realise, for example, that you can manipulate files.

No, this book is less vital than ‘Oracle PL/SQL Programming’ but it is still a thorough, well organised and useful book. It’ll quickly pay for itself many times over, and that’s a very high recommendation.

The facts

Author: Steven Feuerstein, Charles Dye, John Beresniewicz

Cost: US$46.95

ISBN: 1-56592-375-8

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.

Corel WordPerfect 8

Introduction

Linux is capable of many things. It is an incredibly fast and stable platform, able to sustain months, if not years, of uptime and has many world-class applications such as Oracle8 and Apache. What it doesn’t have much of are decent word processors. I find that, these days, the one of the few reasons that I boot up Windows is for Microsoft Word (the other reason is Worms 2).

So the day when WordPerfect, one of the few word-processors that can compete with Word feature for feature, arrives on Linux is a momentous one. However, just being there isn’t enough. Is it really on par with Word? And does it do justice to Linux?

First things first

Corel WordPerfect comes in three versions: Personal Edition, Standard Edition and Server Edition. I’m reviewing the Personal Edition, the one you can download from the Internet for free. The Standard Edition adds more fonts and clip-art and the Server Edition adds a character mode version and more administration tools.

Installation barely warrants a mention. It’s not a ‘standard’ Linux package such as RPM or DEB, but is very straight-forward nevertheless. It’s very Windows-like: click here, enter this information there. Easy. It’s not as confusing as StarOffice either – you install it as ‘root’!

Running it for the first time

X doesn’t make it easy to make a decent application. It imposes no standards on an applications look and feel, but does impose a relatively high memory overhead. I guess this makes it difficult for a company used to writing Windows applications.

Corel, like StarDivision, have chosen to make WordPerfect look and feel like their Windows version. This is going to annoy some Linux users, claiming that it’s not ‘UNIX’ enough, but I think it’s a good thing. It makes anyone used to a Windows word processor (i.e., almost everyone) instantly at home. No one is going to have a problem with the Office 97-like tool bar, nor the simple and logical menu structure.

Perhaps more of an issue for people coming from Windows or a Macintosh is what the application is capable of. Word processors on those machines can, just about, do everything from letters to fairly advanced desktop publishing. Most free Linux equivalents just can’t compete with that. LyX is great for long, structured documents (with certain caveats that I noted when I reviewed it last year), and many of the others look good, allowing import of multimedia clips, but are disappointing when you want to do any real work.

WordPerfect is more like a Windows word-processor in this respect.

Doing some real work

I thought a good test would be to write this review with WordPerfect. I suspect that documents of around a thousand words are not atypical and it would allow me to test out some of the nice new features, such as its Internet interoperability.

Unfortunately, half way though the review I found that there was very little to write about. This is not a criticism, in fact it should probably be taken as a compliment. In writing simple text, WordPerfect has all the tools you need exactly where you would expect them, doing exactly what you want. It has the basics, such as font and style selections, plus more recent innovations such as on-the-fly spelling- and grammar-checking. The latter is annoying and I usually switch it off, which is a useful feature that Microsoft Word doesn’t have!

So far, there is nothing that WordPerfect has that the Windows competition doesn’t already have. I guess it has two things. Firstly it has the ‘shadow cursor,’ something so obvious that I’m surprised that it’s not been done before. (People said that about the drag-and-drop cut-and-paste in Word for Windows 2.) If you switch it on, you can click anywhere on the screen and start typing. WP adds the necessary returns, tabs and spaces for you.

Secondly, it has what I can only describe as an on-the-fly thesaurus. It’s a drop-down list on the tool bar that gives a continuous list of alternatives to the word that you just typed. I’m not sure that it’s a great improvement over pressing Shift-F7 in Microsoft Word, but it’s there anyway.

Advanced stuff

Once I found that I could test more than a small amount of functionality while writing the review, I started playing round in other documents.

The first I opened was my CV, a Word 95 document complete with some of the dodgy advanced formatting that you can do there. The import was less than perfect, but was still quite impressive. It brought across all the text and most of the formatting, including most of the style information. Unsurprisingly it failed on the floating frames, but it did place the text at a suitable place in the document. Full marks for falling over gracefully. I was surprised that it didn’t manage to import the header and footer information, though.

I then tried to reapply the formatting that the import had managed to remove. Again, it gets boring to write about as it was so easy.

The second document I tried was rather longer, nearly seven thousand words. Again, conversion was impressive although imperfect. This time the main problem was the heading numbering, a fault that Word 97’s converter also has.

Having lost the table of contents, I tried to recreate it. I didn’t find this entirely straight-forward and never did get exactly what I was looking for. It looks like you have to define each paragraph that you need entering into the table of contents, rather like the way LyX insists. I much prefer the Word approach where it uses the list of styles to work out the document structure.

Not all good

It has to be said, there isn’t a lot wrong with WordPerfect 8.

The font handling – unique to WordPerfect – isn’t quite as good as that in Windows, but is probably better than that in most X applications, StarOffice included. Also, the version that’s free to download doesn’t have the on-line help. I can’t help but think that this is a very important thing to miss out.

The two worst things that I can think of are that the Microsoft Word filter doesn’t work with fast-saved documents (I’m not sure what MS has done with fast-saved documents, but no software other than Word itself seems to be able to deal with it!) – annoying as most of my Word documents are fast-saved!

And the finally, a question mark hangs over its stability. I had a couple of (unreproducable) crashes while wring this. However, it should be noted that WordPerfect managed to reinstate a recent backup each time meaning that I only lost a sentence or two.

Conclusion

This is exactly what we need. WordPerfect is a superb application, just as good as its Windows counterpart, but running under Linux. Due to its less-than-one-hundred-percent compatibility with Microsoft Word, I can’t guarantee to use it always (my work uses Word) but it is going to stay on my hard-disk.

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.