Computing in the real world
SEARCH FOR: IN:
Guest  Level 00    Register Log in

Real World Computing

The indispensibles

13th April 2007 [PC Pro]

ImageMagick is an extremely powerful utility and we don't have space here to detail anywhere near its full list of features. Some examples include resizing images; converting formats (JPEG to PNG, for instance); adding text to an image; applying filters such as blur or sharpen; rotating and cropping images; and so on.

An example of when we'd use ImageMagick might be when a client supplies us with a folder full of TIFFs at 300dpi that we need to convert to JPEGs at 72dpi. Sure, we could launch Photoshop and change them one at a time, or even do a batch conversion in Photoshop, but most of our developers don't have Photoshop installed or aren't familiar enough with it to do the task efficiently. But a single command at the command line will convert all of those files automatically in almost no time at all.

Another example of our ImageMagick use is that we run websites on which users can upload images to accompany, for example, news stories. Ideally, these users would already have sized their images appropriately, but that hardly ever happens in the real world, so instead we ensure that as soon as each file is uploaded it's passed through the appropriate ImageMagick filter to turn it into the 200-pixel wide, 72dpi JPEG that it should have been in the first place.

MacFUSE

Lastly, we must mention MacFUSE, which is a Macintosh implementation of FUSE - which stands for Filesystem in USEr space. The idea is that once FUSE is installed on your PC you can read and write a variety of different file systems, even if they're not natively supported by your version of operating system. MacFUSE was written by Google's Amit Singh, who wrote it during his "20% time" at the company - Google allows its engineers to spend 20% of their workday on projects that they're interested in, even if they have nothing to do with Google's core products.

Once you've installed the core of MacFUSE, you can then install a number of plug-ins that allow you access to different file systems. The key idea is that, apart from that core MacFUSE component, you're doing all of this in "user space" - that is, you're not modifying the machine's kernel in any way, which makes it much easier for developers to write FUSE plug-ins for all sorts of file systems. One super example is SSHFS - a plug-in that enables you to access the contents of any machine to which you have SSH access as if it were a hard drive on your desktop. Simply give your username and password, and the contents of its home directory will appear on your desktop as a standard Mac volume, so you can copy files to and fro just by dragging and dropping. Sure, you could use SFTP and an FTP program such as Transmit, but this is much more intuitive.

Another extremely useful FUSE plug-in is NTFS-3G, which lets you read and write NTFS (Windows) disks, something that isn't generally possible otherwise. (The Mac is happy writing to FAT-formatted disks, but not NTFS.) There are several other plug-ins that are compatible with MacFUSE, and more being developed all the time - one interesting one allows Amazon's S3 storage service to be used as if it were a standard Mac volume. We'll be coming back to MacFUSE in future issues as more file systems are developed for it.

Which distribution?

Reader Allan Hart asked what distribution he should choose in order to learn Linux. Hundreds of Linux distributions are available and, although they all contain the same core components, different ones are tailored to different tasks - selecting the "best" one can be difficult, especially if you're new to Linux.

Continued....