Hedgehog is my totemic animal

The SW tools I use

Listen to your heart!

Epsilon is the editor I use for programming.

This editor is for you if you are an EMACS-fan but you happen to work under Windows nowadays. However, I am not an EMACS-fan myself and my opinion about Epsilon is a bit mixed.

To start with the positive things, Epsilon is definitely better than the embedded editor of Microsoft's Visual Studio (though this is not a big achievement, I guess). I also appreciate that it has a Brief-emulation mode (yes, I am a Brief-fan), so I do not have to learn another set of hot-keys. But what I enjoy most is the great flexibility: I can redefine everything and I am even allowed to rewrite the whole editor using EEL, the so-called Epsilon Extension Language, which is a C-like language (the concept is the same as in Brief, I wonder who has got the idea first: I guess it comes from the Uni(x)verse...). This is indeed important as the Brief-emulation mode I need so desperately is everything but perfect. Therefore I have already made some modifications to it and also to other parts of the editor.

There are some things I dislike, though. I often have the feeling that Epsilon would need a basic redesign as the whole program seems to be a bit incoherent now: features and commands are implemented on an ad-hoc basis, probably as a result of so many upgrades. The most confusing is the User's Manual which is everything but clear in my opinion: I use it often, but it still happens that I do not find something I need, even if I have read it before and I need just a refreshment. And if you look into the EEL-sources you find a programming style in which no one should program nowadays, at least so I think.

Another question is, whether you really want to use a stand-alone editor. Although an IDE's editor is usually not as good as a stand-alone one, it offers significant advantages, for instance context sensitive help and code browsing. I still insist on editing my source files in Epsilon, but I often open Visual Studio to browse my code. I think in the long run stand-alone editors should somehow provide these services or they will die.

Anyway, my overall opinion is quite good: this is a usable tool and I do not know any better (Brief is not available any more and it had similar drawbacks as well.) [Top of Page]

4NT is the command shell I use.

This is a good tool. The 4NT command prompt provides a lot of comfortable services like command and directory history, name completion and an extended set of commands. Our project particularly depends on 4NT's batch files. Some critical remarks, though: the manual could be more detailed and I also managed to find some bugs concerning file name handling. [Top of Page]

MKS Toolkit, a collection of command-line utilities

Another immigrate from the Unix world. It includes a lot of Unix utilities. The reason I have this tool is that our project uses awk scripts. It is a powerful file processing language that can help you in situations when batch files cannot but you do not want to apply the heavy artillery (i.e. to write a C or C++ program).

Other important components of MKS Toolkit are:

  • a Korn-Shell (which I have not used yet),
  • a make utility (which I have not used yet either but considering my experiences with Microsoft's nmake I think I should),
  • and a lot more: vi, perl, grep, etc. [Top of Page]

MKS Source Integrity, a configuration management tool

Source Integrity is based on rcs but it gives you an additional integrated environment (you can use the command-line tools, if you prefer). After having relatively good experience with an older version for a year, I have recently updated to the newest version (7.3e) which offers some new functions and its GUI is also fancier.

However, my impressions about the new version are not good:

  • certain operations are inconsistent and unsafe: it even happened that some of my work was lost due to this!
  • the integrated environment has a tendency to crash,
  • there are a lot of inconveniences in the user interface, that makes its usage rather painful,
  • the documentation is incomplete.
[Top of Page]

JDK 1.2

The basic Java development tool: no IDE is provided, only some command line tools (but unlike an IDE tool, this is free!). I originally intended to use it on a temporary basis only, until I decide which integrated tool I prefer. However, I have been using JDK for a year and I still do not need an integrated tool. There are two reasons for this:

  • Most of the traditional IDE services can easily be substituted by alternative ways: I use Epsilon for editing, the documentation is in HTML format so a web-browser provides "online help" and I have some makefiles to produce "projects" and automate compilation and other actions. I miss code browsing and context-sensitive help a bit but I can survive without that.
  • The only really important service of an IDE that cannot be replaced is debugging. But I develop low-level libraries and small utilities (relatively small and simple pieces of code), so I can easily get along with very little debugging: the command-line debugger of JDK has been sufficient for me so far. [Top of Page]

General remarks on Microsoft programs

First of all, I have to admit that I am getting more and more biased against the Redmond Goliath and it is quite possible that my prejudices make it very difficult to judge their products objectively. However, I want to add that I am not a "100% Certified Microsoft Hater" and I do not think Bill Gates is the AntiChrist; in fact, I am sure that every other SW company would love to be in Microsoft's position and they would behave in the very same way if they were. My negative feelings are mostly caused by the frustrating experiences with their products.

The programs discussed below are quite big and complex products. It is no wonder, that they are not perfect. I am a SW engineer myself and I am afraid I cannot claim that my own code is of better quality than Microsoft's. However, there are certain features I specifically dislike (i.e. hate) in their products.

First of all, it is frustratingly difficult to find any information in their online help: even if I am pretty sure that the program knows what I want, it always takes a lot of time to figure out how I can do it because the links and explanations the help system provides are rarely relevant. It seems that Microsoft and me think in a very different way: the main problem for me is that they usually explain in an extremely detailed way how to do something (for instance: "go to this menu, press Enter, then press this key and drag something with the mouse" and so on. These kinds of instructions are completely unnecessary: you know, the great thing about graphical user interfaces is that their usage is easy and intuitive. Once you learn the basics, you rarely have problems like "how to open a dialog box" or "how to drag an object on the desktop". So, having to read repeatingly this kind of information all the time when you are desperately looking for something else is quite irritating. Unfortunately, if you want to know about concepts or want to find meaningful definitions, then you are in trouble: the help tells you very little about concepts: what will actually happen when you do this or that? You are treated like a child, you are told what to do but not why...

Another typical problem is that even though Microsoft programs (at least the ones discussed below) are really offering a lot of services and options, I often find that I miss something very basic: it is like when you can set your watch to display the numbers in 32 different colours but you cannot change the date. Just a few examples:

  • In File Explorer you are simply not able to set a default sorting scheme. I prefer to see files sorted according to their types and I have to open a submenu to achive this each time File Explorer refreshes the directory content.
  • Also in File Explorer: the only way to get to know the exact size of a file is to open a Properties window for that file. I really do not understand why is this rather important information not displayed directly in the main File Explorer window? [Top of Page]

Microsoft Visual C++

It has been a rather long process to get more or less used to Visual Studio. The only other integrated development tool I used before was Borland C++ 3.1 (the DOS version); a very old environment and fairly simple. When I first started Visual Studio, I felt like arriving from a small town to a metropolis: Visual Studio seemed to be huge and chaotic: it was really hard to work with Visual Studio for the first few days (weeks) and the help system did not make it any easier, either. After one year I have learnt to appreciate some of its services but I am still not fully comfortable with this Microsoft Metropolis: it is full of the usual uneasiness and illogical solutions.

I limit my usage to three areas: to get online help (on the language), to browse and debug the code. For building a project, we use our own makefiles from a command prompt and for source file editing I use Epsilon (although Visual Studio also has a Brief emulation mode, it is worse than Epsilon's). Since this is not exactly the way Microsoft imagines Visual Studio should be used, you need some extra effort to customize your environment and there are still minor inconveniences:

  • For instance, when I start debugging I always receive a warning message that some files are out-of-date. They are not, the message is due to some inconsistencies between the Visual Studio project files and the makefiles we use.
  • Also, our project directory structure is a bit different from the default settings, so when I browse the code, Visual Studio often asks for the directory in which it should look for the source files: I have not found any way to make Visual Studio smart enough to find them without my help.
  • I also find that code browsing works in strange ways: some class members are invisible in some views but visible in others: I have not been able to figure out the reasons yet.

My final judgement is not very good, but not so bad either, after all. Due to the wide variety of its services Visual Studio is a usable tool but its incoherence and uneasiness is often nerve-racking. [Top of Page]

Microsoft Word, the world's leading nerve-processing program

Computer age!

I used WordPerfect before coming to Nokia and although we often called it WordImperfect in those days, I look back now with a forgiving smile and admit that those were my happy days. So, feel free to have a "how to liberate the world from Microsoft's Word" chat with me... :-) Well, the smiley shows that I am exaggerating a bit. But it is definitely true that I find Word inferior to WordPerfect in every respect:

  • It is quite usual that when (after figthing my way through the labirinths of the online help) I finally manage to learn about a certain feature, it turns out that something is wrong with that: it does not want to do exactly what I want or the way it works is illogical (to me, at least). Just one example: I prefer to insert a field into the footer about the date (and time) when the document was last saved. This enables you to tell whether an old printout is out-of-date or not. Unfortunately, in Word you get into an endless circle with this: when you insert the field, its content will be the last date when the document was saved. However, by inserting this field you change the document, so you need to save it. Unfortunately, when you save it, the field contains the date of the previous save, so it gets out-of-date immediately and you will see this obsolete date when you open the document next time. Of course you can always update the field, but by this you change your document... The tell the whole story, I have at last found a way to use this field in a more or less logical way: I save the document before I print it, then I update the field (in fact, you can tell Word to automatically update every field before printing the document), then I print it and do not save it after printing.
  • But what I really miss from Word is a very nice feature of WordPerfect: the so-called "secret-code window". In this pane you can see the internal codes that actually specify all the formating information in the document. By looking at these "secret codes" you can learn a lot both about the actual document (WYSIWYG can sometimes be very deceptive; furthermore and it never tells you why "you get what you see") and about the way WordPerfect works. Word does not give you this insight and I personally miss it very much.

My final judgement is quite crushing: although Word provides a lot of services, the quality of the services is mediocre (or worse) and the help system is terrible. DON'T USE IT! [Top of Page]

Microsoft Outlook

My experiences with mail programs started with Eudora Light (a nice shareware) which I used before coming to Nokia. Then I had the honour to use MS-Mail for more than a year at Nokia before upgrading to Outlook. I was really looking forward to having Outlook: MS-Mail was a primitive tool offering only the very basic services. Clearly, Outlook offers the most functionalities from the three programs, even if you confine your investigation to mailing, which is actually not really fair as Outlook is an integrated package offering more than just simple mailing: contacts, appointments, meetings, tasks and all other aspects of your work can be controlled with it.

You can set automatic rules to organize your mails, (with special attention to junk-mail), set reminders that certain messages require further action and so on. All of this can be very helpful, especially if you have to cope with a huge number of messages.

Still, as always with mighty Microsoft, there are inconveniences and inconsistences. Some examples:

  • The first is related to the fact that most of the commands of Outlook are context sensitive. This is quite natural for such a big program: you do not expect to use the "reply to a mail" command when you are looking at your calendar. However, the devil is in details and I often find that commands I would really need are not available in certain cases (while others I do not need are there). For instance, it is sometimes inevitable that you resend one of your older messages, because it has been lost on the way or because the recipient has carelessly deleted it. No problem, you can do it, but in a somewhat awkward way: you cannot resend your message from a folder view (there are two basic types of windows in Outlook: in the first one you view a folder containing many items, in the second one you view one particular item) you have to open a special window to view the original message and only from that window can you command Outlook to resend this message. Why can't you just select the message in the folder view and resend it from there? It is a mystery to me, especially, since some related actions like "reply" or "forward" are available from the folder view...
  • One important service for such a big and complex program is the possibility to customize its user interface. People are different and they have different preferences. It is really nice that you can for instance define your own toolbars: in principle, they give you the possibility to put the commands you think are important just a click away. In principle, I say. The practice is not so bright. (To begin with, the way you can define your own toolbar is rather primitive: I wonder why do you have to insert all commands individually into your new toolbar, why can't you begin with "copying and pasting" one of the predefined toolbars?) The problem is that you cannot make your toolbars really context sensitive. What would be ideal is to define specialized toolbars: one for mail folders, one for the calendar, one for the task folder and so on. Well, you can do this, that's great! But unfortunately you can't tell Outlook to automatically display your right toolbar with the right folder or item: a toolbar is either displayed all the time or not displayed at all. You can of course manually switch them on and off each time you change the view but that kills the whole thing.
  • Adding new addresses to the Personal Address Book is totally manual. If you want to create a new entry, you have to type the name of the person and his/her address (Stone Age indeed!) even if you want to add a person, who has just sent a message to you and Outlook could easily gain the information from the message and do you the favour. Obviously, the reason for this primitive behaviour is that the Personal Address Book is maintained by the mail server Microsoft Exchange, not by Outlook itself; but this is not an excuse, since Microsoft proudly claims that these two programs are integrated. It seems that I have too high expectations from "integrated" programs...
  • Talking about addresses: I am not intelligent enough to understand why are there two kinds of ways to store addresses of our personal contacts. One is the Contacts folder, where you can put all (or at least many) kinds of information about a particular person and the other is the aforementioned Personal Address Book where you store only email addresses. Contacts is capable of much more; the only real benefit from the Personal Address Book is that it can store Distribution Lists, like Colleagues, Friends or Basketball Teammates. So, my current practice is to use the Contacts for storing all my individual contacts and the Personal Address Book only for distribution lists. Even in this case, however, you must be cautious: if a certain person's email address changes, it is not enough to update this addres in Contacts: you also have to check if he/she is included in any of the Distribution Lists and update the entry manually, since Outlook (very smart, indeed!) maintains a copy of the address in the Distribution List instead of a pointer to the original address in Contacts.

These are minor problems, you say? That is true but there are many of similar illogical constraints (I find new ones almost every day!) and they make the program hard to use and leave a bad impression. At least in me.

Although this should be obvious anyway, here is my disclaimer:

This is a personal homepage and the summary above reflects my personal views only. Comments are welcome, though.

[ Yahoo!Geocities | My Home | Hungary | Visited times since 27th February 1999 ]

1