Archive for April, 2007

Book Review: Beginning Ubuntu Linux Second Edition

    The latest version of Ubuntu Linux, 7.04 Feisty Fawn was released yesterday and at the same time a courier showed up at my door with a package from Apress Publishers. The package contained their wonderful Beginning Ubuntu Linux book, now in its second edition. When I reviewed the first edition, almost a year ago, I liked it a lot. The second edition is also geared to the newbie, just like the first one, but there are a number of changes, all of which for the better.

First off, the book comes with a double sided DVD containing both the 6.06 and 6.10 releases of Ubuntu, Kubuntu, Xubuntu and Edubuntu, which means that there is something for everyone. The basic chapter is the same, starting with an introduction to what Linux is and what you can do with and progressing to how to get around to installing and using Ubuntu. But some sections of the text have been reorganized and additional matter added. Of course, everything is now up-to-date with regards to the 6.10 release. There are more screenshots, which is always a good thing for a new Linux user.

The installation guide is still written in a hold-your-hand manner, something that is certain to be reassuring to people installing their first Linux. The section dealing with common installation problems and their fixes has been expanded and the typesetting is now much clearer, making it easier to find the problem that you are looking for. The getting-started sections as well the introductions to common programs retain their well-written style but have been improved by adding further screenshots and by providing howtos for  common tasks.

One thing that I especially liked about the first edition was the section on using the BASH shell to perform slightly more advanced tasks. The corresponding section of the new edition provides much of the same information, but advanced topics are better explained. The chapter regarding filesystems, users and file permissions has been improved and expanded. This will be a welcome change for first-time users as file permissions can often be something quite hard to understand and quite easy to misuse.

By far the section that has received the most attention is the one regarding software management. There are instructions on keeping your system up-to-date as usual, but also guides on installing an anti-virus software (which is probably not necessary, but many people feel safer with one around) and also on adding more repositories. This is handy for people who are ready to pass out of the “newbie” stage and move on to do some exploring.

On the whole, the book lives up to its claim of being “Written for newcomers to Linux, yet comprehensive enough to appeal to even seasoned users”. While readers will derive the most benefit in the first few weeks of their Ubuntu experience, there is a good chance that you will you be looking up some of the more advanced matter even after a good few months. The second edition has the same price as the first one : $39.99, but whereas the first one was a fair deal, the new one, with all the new material and the power-packed DVD, is a downright bargain. If you’re looking for your first Linux experience, but unsure where to start, I recommend you pick up this book.

Gmail extra

I’ve talked about using Gmail for more than just plain email a number times. but most of the time, I’ve mainly talked about using external tools to make Gmail do things that aren’t related to it’s functionality as a mail client (such as using it as a feed reader or as online storage space). But Gmail is an outstanding e-mail tool, and so today I’m going to focus on Gmail’s email functionality to do a number of useful things.

Many of the tips that I’m going to give you will make use of plus addressing and labelling. Plus addressing gives you multiple email addresses for the price of one. Any mail sent to an address of the form somebody+something@gmail.com will go to somebody@gmail.com. You can replace the “something” part with anything that you like as long as it does not contain a space or @ symbol. Instead of a + you can also use a dot.Gmail also allows you to assign labels to emails, and you can set up filters to automatically assign labels to certain label based on numerous criteria.
Now that we have the basics covered, here goes:

1. Separate email from Mailing lists, newsletters etc.
This is perhaps the most obvious use of plus addressing. Give each of your newsletters, mail lists or other services a different plus address (or give different groups different addresses). Then set up a filter based on the To: field to give incoming mail a label, star them or archive them directly.
Strictly speaking, you don’t need plus addressing, you could apply a label based on Subject or From, but if whoever is mailing you changes either of these, your filters won’t work anymore.

2. Maintain a journal or diary
Create a contact with +journal or +diary as part of your email ID. Then set up a filter for all mail sent to this address to skip the inbox and to labelled as Journal or Diary. Then just email your daily entries to this address. All your entries are in one place, sorted by date, searchable and as secure as the rest of your important email. The only downside of a diary like this is that you can’t edit previous entries, though you can add to them (by keeping the same Subject) and Gmail’s thread view lets you see all additions together.

3. Create a personal database
Get the Gmail toolbar and whenever you find something on the net that you would like to keep for future reference, use the send to Gmail function to email it off to a personal plus addressing and use filters to keep these little pieces of data from cluttering your inbox. All your saved information is easily searchable and you can easily forward it to anyone else who might be interested.

4. Manage your time and keep a to-do list
Once again send yourself email to a personal plus address. The subject line contains brief info on whatever it is that you want to get done and the message body can be packed with details. Labels can be used for projects and for contexts (where something is done) and since a message can have multiple labels, you can find your tasks whether you’re looking for all tasks related to a project or to a context. You can star tasks that require immediate attention or are very important and Gmail’s starred view will give you a neat list of things to do next.
Gmail can be used very effectively as part of a Getting Things Done system and if you are a GTD user, the GTD Inbox firefox extensions might come in handy.

5. Post to your blog
A number of blog services (including Blogger) allow you to send email to a specific email address and the content of the email gets posted as a blog post. How much success you have with this will depend on how good your service’s implementation of this feature is. Blogger works pretty well. I am unsure as to how WordPress performs, but the hosted version at WordPress.com does not support this feature.

If you can think of any other new ways to use email, let me know and I’ll add them to this post.

A File System For The Average User

Yesterday I talked about how today’s filesystems, while doing their job quite well, were not all that suitable for the average user. Today let’s take a look at what improvements could make filesystems better for the average user. So let’s start with the typical average user: my mother.

The Big Problem: My mother has finished a good few weeks of heavy-duty research at her lab and now wants to write up her results as a publishable paper. Not only does she have to bring together all her raw lab data, there are also lots of references to previous work. Her raw data is mostly in the form of pictures and Word files containing lab results. The references are mostly PDFs and the occasional saved webpage.

The Solution: Like any other good scientist, she decides to break down her work into a number of steps. First she has to collect all her data. Then she has to write everything in a massive Word document, and finally put together references and send it off to an editor. Luckily, my mother does not use a simple heirarchical filesystem, but rather an improved next-gen filesystem which I will be describing throughout this article.

Problem 1: Gathering the data. As I’ve already mentioned, the data is a mix of images, Word files, PDFs and saved web pages. The problem is that all this data is saved across well over a dozen folders, many with subfolders going down two or three levels. Also, most of the data has been collected over the past few weeks, but some of it goes backs almost a year. It would take my mother hours to go through her jumble of files to find the things she needs. Some of the files are badly named, meaning that searches based on filename would miss the mark quite often.

The solution: Metadata. This is data about data. The commonest example would be the tags that many web services now use to help users classify their content, without restricting them to classic file/folder hierarchies. My mother’s filesystem uses metadata extensively. Whenever a file is created, the filesystem records certain information about the file. There are mundane things like filename, size, type, etc. These things describe what the file is. But there are other pieces of information (let’s call them tags) that describe what the file is about. For example, a certain PDF file has tags that say that it is about lizards, temperature, humidity and diet. Some of these tags were entered by my mother when she saved the file. But some of them were obtained from the file itself. The filesystem took the liberty of searching the file’s contents and adding repeated words and phrases, as well as words in titles, headers, and image captions to it’s list of tags.

But having the filesystem store metadata is only half the solution. The other half is that my mother is actually encouraged to find her files based on metadata. Looking through her files based on metadata isn’t delegated to a small entry in the start menu, she doesn’t need a third party program to use the feature and she doesn’t have to open a terminal and enter arcane commands like ‘grep’ . Whenever she opens the file manager, she sees the typical directory structure, but a part of the interface is devoted to showing her common metadata on her hard drive, metadata that she recently looked for as well as prompting her to enter words or phrases related to content that she is looking for. All she has to do is type in “Maximum temperature of lizards” and she gets a list of PDFs referencing the required work, image files containing graphs of temperature tolerances etc.

Problem 2: My mother has been using the metadata capabilities of her filesystem to find the information that she needs. The problem is, she’s afraid that she’ll forget where all the numerous files are and will have to search for them all over again when she needs them again. She could copy them to a temporary folder, but if she makes any changes to them, she’ll have to remember to sync them with the original. If she moves them, she’ll have to remember to put them back when she’s done.

Solution: This solution has been around for a while, known as shortcuts in Windows and Symlinks in Linux. But this new filesystem gives it a few improvements. My mother creates a special type of “temporary folder” . Anything that she places in this folder is actually just a link to the original somewhere else. But any changes that she makes here are mirrored with the original or vice-versa, however she can turn this off in case she doesn’t want changes to be mirrored. The links are also smart. If the original file to which the link refers is renamed or moved, the link is automatically updated. Besides linking to ordinary files, she can also save lists of files which match certain metadata, similar to saved search folders.

Problem 3: Now that my mother has found all her data and got it in a temporary folder, it’s time to start writing her paper. This is going to be a big paper, over a dozen pages, she’s going to be working in many sittings and doing numerous edits. At times she’ll probably want to roll back changes, or just look at what she had written earlier. But she doesn’t want to have a dozen different files each with a different draft of her paper.

Solution: Version Control. What she needs is a robust versioning system. Seasoned programmers will testify as to how useful these systems are to maintaining code. But my mother does not have the time or the patience to set up and learn to use a version control system. Luckily for her, version control is built right into the filesystem and file manager. First off, her filesystem uses journalling so that data losses due to sudden shutdowns or reboots are kept to a minimal. She doesn’t need to keep multiple drafts of her paper stored separately, she has just one file. When she opens it, she gets the latest version.

But the filesystem keeps track of what has changed every few minutes, or every time she makes a change. By right clicking on the file in the file manager, she gets a menu with a list of every time a change was recorded and she can easily open up a previous version of a document. More advanced options allow her to choose how far back the versioning goes, how often changes are recorded and whether copying/moving the file causes the whole version history or just the latest version to be moved. Finally, if she has some sort of online or external backup, then everything is synced automatically at periodic intervals.

Problem 4: The paper in its final form is written and then emailed off to a journal editor for publication. He likes the paper, but there is a small problem: my mother had quoted from an earlier article but had forgotten to add it to the list of references. The editor asks her to make the correction and send him the corrected version. She’s glad to do so, except she can’t quite remember which article she quoted from and she doesn’t fancy the prospect of having to look through all the possible articles.

Solution: Data Relationships. Unlike most modern filesystems which only remember things about individual files, this filesystem also remembers relations between different files. This is a slightly more advanced feature and not one my mother regularly uses. But being the avid geek that I am I help her out. After opening a few menus I get to the required dialog box which tells me that she saved the file 27 times over the space of a week, that she rolled back changes thrice and she had copied the file 5 times. It also tells me that she had copied information into the file 8 times and copied something out of it 6 times. Another few clicks give me the files from which data was copied into the file as well as the type of data that was copied. By only looking at the times text was copied in from a PDF, I help my mother narrow down the possibilities to just 3 sources and it takes her about a minute to find the required reference.

Conclusion: A collection of a number of new, “smart” features means that my mother no longer has to worry about the details of how and where her data is stored or how to properly manage it. The filesystem helps her concentrate on what she wants to do with her data, not how to go about doing. For the average user, it means that the computer is more similar to how we are used to dealing with non-computerized data and that the user needn’t be bothered with obtaining and learning to use various third party devices. For power users, there is simply a lot more power in their hands. Of course not everything described above can be handled by the filesystem alone, but it is at the core of it. Next time we look at the current state of affairs: how far away we are from my mother’s dream filesystem and what other tools beside a augmented filesystem we will be needing.

Why today’s file systems are inadequate

My mother is an average computer user. Not a power user, not an IT pro, just an average user. She teaches at college and does research. Her computer needs are mostly limited to email, reading scientific papers off the internet or in PDF form and using a word processor to write her own papers and question papers. Occasionally she does some light graphics work, mostly just labeling photographs. She has a large number of files on her folders, once again mostly scientific papers or notes related to her work. Every once in a while she forgets where she put a certain PDF document, as well as what she named it. She remembers what it was about and has a vague idea about when she saved it. Then she comes to me and I have to go look through her dozens of folders, with Google Desktop search as my pal, and after a good deal of pain, I finally stumble upon the culprit.

What does all this have to do with file systems? Well, everything. Today’s file systems work in a strictly hierarchical manner, one file goes inside another. While that may be very good for some sorts of things, it certainly isn’t the best for everything. On top of that, there is currently only one way to find a file: it’s name. Which means that if you’re someone like my mother whose typical PDF has a name like “RNA acceptor protein reaction mechanism in Axolotl Mexicanum” and if you forget the filename, you’re pretty much stuck. Sure tools like Google Desktop can help you even if you remember a fragment of the filename, but that is still a stop-gap measure to the filesystem’s underlying fault: a total lack of flexibility. Does a picture of my mother’s regenerating newt go in her “Regeneration” folder, or in her “Current Project” folder or in her “Animal studies” folder? Or should she make copies and place one in each folder? If she makes a change to one, she’ll have to remember to copy it again. Sure she could make one copy and use a link or shortcut, but I think that might be too complex for her to handle.

Then there is the question of versioning. Anybody who has had to write a long detailed document, will know about what I am about to describe. You start on day 1 with an innocently named Doc1.doc, then on Day 2 you add another paragraph and it becomes Doc2.doc, then the next day you go to Doc3.doc and Doc4.doc, so on and so forth. Keep track of the versions of your file is boring and repetitive, it’s something a computer should do. Sure there are a number of excellent version control systems out there, but why they are all fairly complex to use. Why isn’t versioning handled by the place where all the versions are kept, namely the filesystem?

The typical file/folder view of data doesn’t easily fit everyone’s needs. If you’re a novelist, how do you write your next book? Is the whole book one big file? Does each chapter get it’s own file? What about the various notes and random ideas that you deal with? How many files do they go into?

Today’s filesystems are inadequate because they force us into a strict relationship with our data, a relationship that most people are not very used to. While they do get the job done (for the most part) there’s lots of room for improvement. Tomorrow we take a look at some of the changes to filesystems that can make them a whole lot easier to use as well as how close we are to implementing those changes.

7 ways to stop wasting time at your computer

    Many people today spent large parts of the day in front of the computer. The sad truth is that many of these people end up wasting a large amount of time even when there are a lot of ways to work more efficiently, simply because they don’t what those ways are. If there is something that you do regularly, doesn’t take much brains and can be reduced to following a few simple steps, then there is most likely a technological way to save yourself from such drudgery. After all, that is what computers are for. If you spend more than an hour or two at your computer, the following tips will probably be of some help to you.

1. Stop checking multiple email inboxes

If you’re someone like me, who has different email addresses for work and personal email, then chances are you spend a good bit of time switching inboxes, organizing mail and keeping contact lists up-to-date. Well, stop it. Even if you spend just a few minutes a day switching inboxes, that will add up to many hours over the years, hours that could be better used doing something else. If you’re a fan of desktop email, there are numerous clients out there that can handle multiple email accounts and keep your mail separated and organized for you. If you prefer webmail, get a Gmail account and set it up to collect your email from the other locations. Gmail automatically makes sure that if you reply to an email which came to a particular address, the reply email will have the same address, not the Gmail one.

2. Stop visiting the same websites over and over

If you depend on websites that get updated regularly, then in all probability those websites will have RSS feeds. Subscribe to them via a feed reader, I recommend Google Reader for an online reader or FeedDemon for a desktop alternative. Not only will you save time by not having to move through all those sites, you’ll also save a fair bit of bandwidth.

3. Don’t backup to CD or DVD

Writing to a CD or  DVD is still quite slow, you’ll probably need special software and it’s much harder to undo a mistake. And a single scratch would make your data unreadable. Try out online storage or if you prefer to keep your data to yourself, get an external hard drive. If your budget is tight, at least get a USB pen drive. If you need to keep multiple versions of your data, don’t resort to file names with numbers and dates at the end, get a proper versioning system like Subversion and invest some time in learning to use it.

4. Learn keyboard shortcuts 

You’ll be surprised how much time you can save by leaving the mouse alone. You’ll be hard-pressed to find a software that doesn’t support keyboard shortcuts. If you use a particular program a lot, find out what the keyboard shortcuts there are and use them. Some programs let you create your own key combos, so if a shortcut doesn’t exist for a regularly used command, you can create it. In case you find that you simply cannot remember the shortcuts, write them down or print them out and put them somewhere you can see them all the time. After enough practice, using shortcuts will become second nature.

5. Learn to type faster

Unless you’re someone like a graphics artist who uses the mouse for most of the time, you will probably be spending a lot of time using the keyboard. Even if you’re use of the keyboard is limited to writing emails and letters, you can save large amounts of time by typing faster.  Take a speed test, there are numerous free ones online, read up on the various speed-typing techniques and learn one or two. If you think you need a better keyboard or a different seating arrangement, make the changes. Also try to make stress on typing error free as much as possible. The less time your fingers spend on the Backspace key, the better.

6. Know your tools

If most of your time on the computer is spent mostly using just two or three programs, then you could save yourself a lot of time by properly learning how to use the programs. Now, this doesn’t mean spending time learning about features you almost never use, but a good read through the documentation can turn up a good few valuable tips. If your program supports plugins or extensions, see if there are any available that will speed up commonly performed tasks. If macros are supported, recording macros for regular tasks could save a great deal of time. Once again, learn keyboard shortcuts. If you search the internet a lot, learn the various operators that you can use with Google as well as how to narrow down your results.

7. Don’t multitask

A lot of new research is showing that multitasking does not really increase efficiency, in fact it might even hinder it to some extent. This is even more so for tasks on the computer. There are lots of distractions on the computer, many of which are addictive. Don’t start checking email or reading a blog unless you absolutely need to, or have free time on hand. Disconnect your IM client if you need to work without interruptions. Shut down programs you won’t need and whenever you have free time on your hands, make a rough list of what you have to do next, preferably in order. If you think you’re suffering from an addiction or can’t seem to stop yourself, get professional help. If you suddenly think of something that should be done soon, but you’re afraid you’ll forget, write it down somewhere. Don’t break your workflow unless it’s urgent.

Most of the above will not save yourself more than a few minutes at a time, but those little moments of saved time will add up in the long run. If you want to make use of those little moments, try keeping a list to small things to do, which don’t require more than a few minutes and get them done with your new free time. For some more general time saving tips, see this article.

The Future of this Blog

Regular readers have probably noticed that posting frequency has been low for the past few weeks. Unfortunately, real live intrudes and I had not been able to devote as much time to this blog as I would have liked to. Anyway, for the next few months, I will be having a large amount of free time on my hands, much of which I intend to devote to this blog. I will be trying to stick to my original intention of running a blog that does not just repost news from other parts of the web, but provides an original view of computers and technology. Of course, this means more frequent posts, devoted to slightly more “geeky” topics than usual and I’ll try to liven up content with screenshots, and maybe the occasional screencast as well.

Currently this blog receives about 20-30 visitors day and has about 40 feed subscribers. I’d like to increase those numbers to 200 and 100 respectively over the next few months. By the end of the year, I intend to move out of WordPress.com to my own domain and a proper host running a full version of WordPress.

Finally, thanks to all my readers, this blog wouldn’t have been what it is without you.

The Point of Spam

Fellow WordPress.com blogger Lorelle recently put up a post regarding spam on blogs, especially in the comments. Her post not only talked about spam but also about how it’s countered, especially on WordPress blogs. Most WordPress blogs, especially here on WordPress.com use a system called Akismet. However since Akismet is a web-based service, it can go down, and should it do so for a long time, many blogs accross the world would be inundated by thousands of spam comments. Lorelle also gives a few alternatives to Akismet that bloggers might want to try out.

Lorelle’s post reminded me about something that I’ve been thinking about for a while: what is the point of spam? Originally, you could put spam in the same category as leaflets in the mailbox, promotional phone calls and door to door salesmen. However nowadays the things my spam tries to sell me are things no sane person would actually consider buying over the internet (Viagra for $2.88 a pill anybody?) Of course there are the occassional smart ones (Windows Vista Ultimate for $20 would interest a lot of people), but seriously, most people already know about all these sorts of things to fall for them. But what really iritates me the most is spam that is composed of random words or sentenced put together for no reason whatsoever. They don’t try to sell anything and don’t have any links to click or attachments to open. Perhaps that’s the reason why they get through my otherwise impressive Gmail spam filter. I suppose this might be some sort of “sniffer spam” just to check out if the email address actually exists, but I wander what’s supposed to happen after they find out that my email does exist.

Then there are the “will you keep an insanely large amount of money in your bank account for me”. Made famous by Nigerian spammers, these claim to be from underage people in war torn African nations, whose parents are dead and now they have chosen you out of some 6 billion+ people on the planet, to keep their cash safe for a while. And of course, you get a fair bit to make your trouble worthwhile. This was quite popular for a while and apparently a number of people fell for it (and ended up losing a lot money after giving away account details). But like the viagra tablets, most people know about this now and I think that it’s about time that these spammers stopped (or at least came up with something new). Unfortunately this type of spam still gets through my spam filter every once in a while, probably due to the fact that to a computer it would look like any other long email.

Of course, there is still some spam that is not irritating, but downright malicious. The first thing that comes to mind are ones carrying malicious software. However a good spam filter and anti-virus software should keep most of these at bay. Far more dangerous and harder to stop are the “phishing emails”. Essentially they look like proper business email from bona fide sources (mostly a bank or major credit card). They tell you that something is wrong with your account and that you need to log on and fix it. They give you a link to a login page that looks perfectly agreeable. Only problem is that the whole thing is a fake, the login page is decided to gather your information so that your passwords and PINs can be safely copied and used to extract every cent that you have in your account. What’s the giveaway? The page you’re whisked away to will have an unusual or extremely long URL, not the one you usually use to log in. I haved yet received one of these, but my mother received one from someone claiming to be a popular online payment system. Luckily she never makes online payments so she promptly deleted it.

Much of the spam that you get will be simply irritating and time consuming. Make sure you have a good spam filter set up, and if it isn’t working as it should, it might be time for a change or an upgrade. If you use Windows, make sure you have a good anti-virus. AVG has a good free offering and I’ve never had problems with it. But if you have virus problems regularly, investing in a paid software would be a wise choice. Unfortunately, much of the phishing and other fraudulent spam can get through filters. The only defense for the moment is good old commonsense. Emails from your banks or credit cards will generally have graphical banners and contact details. Most such companies will never actually ask for your details online and even if they do, they will almost certainly point you to your default login page. Even if you are fairly certain regarding authenticity, you might want to call up the help line and ask a company representative if the email is real. And never, ever agree to keep someone else’s money, no matter how large or small the amount or how much they offer you. And any email telling you that you’ve won a 7-digit amount of money, is most certainly false, especially is they repeatedly emphasis that you should keep absolutely quiet about it. Most spam may be pointless, but that doesn’t mean you should let your guard down

Next Page »