Category Archives: The Penguin Says

Reviews of Linux desktop applications.

WINE 980614

Introduction

This is the second time in as many reviews that I’ve started like this: I don’t want this to be the start of a trend. I did say in my ‘policy’ document that I didn’t want to look at very early releases of software and I stand by that.

However, sometimes you see something and, even though it doesn’t work fully, it show such great promise that you need to shout about it. WINE is such a piece of software.

What is it?

Wine allows you to run Windows applications on x86 Unix machines, Linux in this case. It should work on almost any PC based UNIX like NetBSD, UnixWare, etc. and it’s supposed to run 16- and 32-bit Windows applications, although the former are much better represented at the moment. There are some that will never work properly (the FAQ says something about VxD’s which I don’t understand).

At least, that’s what it will do. At the moment it is a developers release, not even stable enough to be called beta software. However, I’m not here to bash Wine because it’s in its early stages of development. I’m here to express how shocked I am that it’s so good!

Installation

I’ve tried a number of times in the past to make Wine, and they’ve all ended in tears. I rake around my hard disk trying to find enough space — around 50 Mb — spend ages while it compiles and then when I run it I find that there’s been a segmentation fault in 32-bit code. I don’t know what that means, only that it’s not mentioned in the FAQ and that I can’t run anything, not even Notepad.

Then the other day I decided to make one last attempt and, rather than get the source code, I got a precompiled RPM. It didn’t work at first. I had to customize it, changing the configuration file to match where my Windows 95 partition is, but nothing too arduous (or unexpected).

So, I fired it up trying to run calc.exe. I wasn’t hopeful, and the fact that it was taking 100% of CPU and seeming to get nowhere fast didn’t help. I left it chugging away and made some coffee and toast.

Success!

When I returned from the kitchen, the Windows Calculator was sat proud in the middle of my Trinitron. My jaw dropped, and the dog nearly got my toast.

Okay, the display wasn’t completely right. The text in the title bar is far too small, the buttons are in the extreme top left and right rather than in the middle of the bar, and the font on the menu bar is proportionally spaced meaning that it looks rather odd, but I suspect that this is all configurable — you can certainly tell Wine to use your window manager rather than X directly.

But it worked. I could do sums; I could change between normal and scientific mode; I could get the About box. I was stunned.

Moving onto Notepad, I found that the same was true: it worked. I trundled though a few other applets that Windows 95 comes with, many of which, at least partially, worked.

Getting arrogant

Having got the tiny programs working, I started hunting around my hard disk for new challenges. Why start small and build up, I though. ‘wine "`pwd`/winword.exe"‘ I typed. That’ll show it.

I started on my toast, figuring that it’d take a while before it gave up.

But it didn’t give up. After a worrying amount of disk activity, the Word 95 splash screen appeared. As did screens and screens full of errors in the console window. Despite the errors, Wine and Word battled on, eventually displaying the normal Word screen, tool bars, menus and all. Again, the fonts weren’t quite right and the toolbar was far too dark, but there it was. Linux running Microsoft Word 95.

Tentatively I entered some text. This worked fine — even the font rendering was spot on — until I mistyped something. Word underlined the suspect characters with a wavy red line and then crashed.

Next time I managed to get the About box (fairly simple, but with a big bitmap and a sound clip) to display, followed by the Options dialog (big with lots of tabs). A few others also worked without problem. The open dialog, however, causes Wine to exit. I guess this is because Microsoft didn’t use their own standard libraries for the task! (Let’s blame Microsoft.)

Excel works roughly as well as Word. It starts without any problems, you can enter data in the cells and auto-sum works. Many of the dialogs appear, full and correct, but save crashes the system. PowerPoint vanished shortly after completing loading and Access didn’t even get as far as the splash screen.

I was very surprised at the success that I’d had up to this point. Okay, nothing useful actually worked, but I was looking from more of a technical point of view. I did, however, find a program that worked incredibly well, something much larger than clac.exe or Notepad. The program? Maxis SimCity for Windows 1.1. (Saying that it’s useful is stretching the point, but I digress.) I play tested SimCity quite thoroughly and found that, although small parts of the screen occasionally became corrupted, everything worked. Since games are usually associated with some of the worst coding and low-level hacking around this was good. (I’m not sure whether the credit should go to the Wine team or Maxis!)

Overall

I’ll not mess around: Wine is not ready for the prime time yet and is still some way off. This is not news, the developers say this too.

What is news is that it is an incredible piece of software. A non technical user might not see this (unless they want to play SimCity), but anyone who has written a non-trivial program can see what an incredible achievement Wine is.

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.

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.

WWWThreads 2.7

Introduction

While Linux cannot currently compete with Windows NT on the desktop (for a number of reasons that I’m not going to get into here), it has already made inroads into the server market. Many large companies use it as the OS for their web server (like this machine), and many more use it on their intranet for sharing files and hosting web pages.

WWWThreads capitalizes on this framework, adding CGI programs to generate threaded discussion groups, just like Usenet but with a more appealing web front-end.

Installation

Installation should be fairly simple. All that’s involved is copying the files into a CGI directory on your server, alter a few parameters in one of the files and type ‘./wwwthread_startup.cgi'.

Unfortunately it’s not quite that simple. The blame has to lie with the documentation which could best be described as minimal — a single 85 line README. The description of some of the variables that need changing is rather poor. I managed to change them to the wrong thing and only found out when I brought WWWThreads up in Netscape.

Of course, that’s when I finally managed to get it working at all! Apache‘s first reaction was to complain about a ‘premature end of script.’ I’ve done a small amount of CGI programming, and realized that this meant that the web server wasn’t receiving a header describing the format of the data.

But why? Isn’t this supposed to be a finished program? I shouldn’t be getting run-time errors and the like? Then I remembered, my email address has an ‘@’ in it. ‘@’ is Perl‘s way of saying ‘here’s an array’ and needs to be quoted to mean ‘at.’ This edited, the start screen appeared.

You could argue that it is a server side program, designed for knowledgeable people, and that I did manage to get it working in the end. However, all that’s needed is a little extra effort on the documentation and, maybe, a Makefile. Something like an Installation FAQ would be invaluable.

From a user…

Looking at the system from a web browser, things look much better.

WWWThreads has a very neat front screen. The colours have been well chosen; they look smart and well designed, but are very readable. In the top left is a logo, the top right has a menu. Below this is a list of the discussion groups that the administrator has set up. Clicking the title of the group brings up a list of the threads in that group. Clicking a thread bring up a list of posts. Clicking a post brings up that post. All very simple, standard stuff.

If you want to create a new post or reply to one that is already there, you will need to create a user for yourself. Here you’re invited to enter a user name, password, name, email, home page, occupation and hobbies. The first four are mandatory, the others optional. Clicking ‘Submit’ results in a screen (hopefully) saying that your details were added successfully. There are no other links or details on this screen, and you are forced to wait before your browser loads a new page. Annoying.

Replying to, or adding, a new post is similar. Fill in a few details, click submit and wait. There should at least be a link on this page to act as a short-cut for the impatient.

However, generally it is all well laid out, attractive and intuitive — there’s not much to write about.

From an administrator…

The administrative tools are good, and are web based just like the rest of the system. It allows the admin to change their password, add new discussion groups (‘Boards’), edit or delete posts, change details about the groups, archive a board, delete a board and edit users.

Most of these options are obvious, the one that might not be is the ‘archive’ option. This allows you to, in the words of the author, ‘…move all of the current posts on a board to an archive.’ This is a really good idea, and is implemented well, but does not go as far as I’d like. Some way of selecting posts by date or author, or individual posts would be useful. As would a method a more intuitive method of deleting archives (it appears as another board at the moment).

All the tools are password protected, which allows remote administration — a useful feature.

But the main thing missing is overall configuration options. What it I don’t like the look of the pages that WWWThreads produces? What if you want to fit it into your ‘house’ style? What if you don’t want to ask for hobbies or an occupation when a user registers?

The software is distributed with the GPL licence, so of course you can edit the HTML generated. But there is not documentation and much of the look-and-feel is hidden away in the Perl scripts. Perhaps some kind of template HTML file could be used?

Conclusion

WWWThreads is an odd program.

In some ways it is excellent. The design of the pages are good; the way that it remembers which posts you’ve read and those which you haven’t is useful; the archiving option is excellent, in fact most of the web based admin screens are very well done.

But then again, the installation is needlessly difficult, you can’t easily change the way that it looks, it seems not to perform particularly well (I am running the client and server on the same machine, so this might not be a fair comment) and the documentation is poor.

WWWThreads would be an ideal program to place on an Intranet server to allow people in the office to communicate more effectively. However, it’s lack of configuration options would probably make it unsuitable for an external site.

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.