Ubuntu 9.04: Fix OpenClipArt Gallery for OpenOffice.org

If you don’t know, Ubuntu and OpenOffice.org make it very easy to install the artwork from OpenClipArt.org as a built-in gallery within OpenOffice. It’s slick: while in OpenOffice Writer go to TOOLS > GALLERY and a little panel shows up, displaying categorized clipart, ready to be dropped into your document. Very cool.

OpenClipArt

Unfortunately, after Ubuntu migrated to installing OpenOffice.org 3.0 as default, the simple process of installing this excellent feature has been broken. You can still choose to install the OpenClipArt with Ubuntu’s simple application installer, but after the install is done the gallery remains unavailable in OpenOffice. Fortunately, there is an easy fix for this problem.

Why is it not working?

It isn’t working because OpenOffice.org 3.0 saves its resources in a slightly different location than the previous versions. Meanwhile, the OpenClipArt gallery installer is still installing it in the previous location. Somebody forgot to tell them about the change.

How do I correct the problem?

It’s fairly simple, really. Here’s how it works:

  1. The OpenClipArt image files are all saved in a shared folder for all system users to access. This saves disc space, since every user on the system doesn’t need their own copy of the image files.
  2. OpenOffice galleries are represented by single files that keep a list of all of the images and where the image files are saved on the system. These list-files allow the OpenOffice galleries to be very responsive and quickly searched.
  3. To fix our problem we need to copy the OpenOffice gallery list-files from the old location to the new OpenOffice.org 3.0 location.

This solution could work for any operating system, but the following instructions will be specific to Ubuntu.

  1. Since these are system files, you will need to start Nautilus (the file browser program in Gnome) with Super User administration rights. Go to the Main Menu > Applications > Accessories > Terminal. Once the Terminal window appears, enter the following:
    sudo nautilus This will allow you to use Nautilus as though you are the System Administrator. Be very cautious with these administrative rights. If you move or delete an important file you could damage your system.
  2. Once the new Super User Nautilus window displays click on ‘File System’ in the Nautilus shortcuts bar and navigate to the following: /usr/lib/openoffice/share/gallery This is the old resource location.
  3. From the Nautilus menu create a new window: File > New Window
  4. In the new window click on ‘File System’ in the Nautilus shortcuts bar and navigate to the following: /usr/lib/openoffice/basis3.0/share/gallery This is the new OpenOffice.org 3.0 resource location.
  5. Go back to the first window with the old resource location. Select all of the documents in that location and drag them to the second window with the new resource location.
  6. Once the transfer is complete, close both Nautilus windows and then close the Terminal window.
  7. Start OpenOffice and activate the gallery Tools > Gallery. You should see folders for different categories that contain a lot of clip art from OpenClipArt.org!

I hope this was helpful and gives you access to this excellent free clip art library once again.

Enhance Your Apple Trackpad with Raging Menace’s SideTrack

Several years ago I bought an old PowerBook G3 Lombard in pieces, put it together and installed OSX 10.3. It worked surprisingly well and was good enough for email, web and other basic stuff. However, one of the biggest disappointments was how ‘dumb’ the trackpad software was. That was the first time I discovered Raging Menace and two pieces of software that they make that are completely awesome: MenuMeters and SideTrack. Last week I acquired a PowerBook G4 550 MHz laptop and remembered how necessary SideTrack was. Without it the laptop was painful to use without carrying a mouse around at all times. It makes these old trackpads just about as useful or maybe even more useful than the new multi-touch trackpads that Apple has introduced. I like this software so much that I am taking the time to introduce more people to it.

MenuMeters

Raging Menace: MenuMeters for OSXI know this is a post about enhancing Apple trackpads, but first a quick note about MenuMeters. If you’re familiar with Linux you’re probably used to having a nifty system resources ‘gauge’ that provides live information about processor activity, RAM use, network activity and more. OSX comes with an application called ‘Activity Monitor’ but it’s a resource hog and doesn’t provide a simple interface that can be visible at all times.

MenuMeters adds this feature to OSX by making this data available in the main menu bar next to your wireless network status and volume control. It takes very little resources. I don’t know exactly how little, but if you can run it on a PowerBook G3 running OSX 10.3 while being able to do OTHER things, it apparently isn’t using very many resources. It’s so excellent that it should come with OSX pre-installed. The good news? Raging Menace offers MenuMeters as a free download.

SideTrack

RM_SideTrackThis little bit of software is just as valuable and unassuming. SideTrack opens up that simple, one-purpose Apple trackpad and turns it into a powerful, multi-purpose device. Suddenly your trackpad is endowed with vertical scroll, horizontal scroll, the ability to set each corner of the trackpad to evoke a custom key command and more.

SideTrack isn’t free, but you can try it out for free and, if you find it useful, purchase a license for $15. Totally worth every penny. It’s definitely easiest to understand its many features by just downloading and installing it. However, these screenshots of the preference panes will tell you a lot.

Check out these excellent pieces of software at ragingmenace.com. You won’t regret it.

Typing Special Characters in Linux

appleos_keyboardlevels-smal

There are many aspects of Apple’s Mac OS that I dislike, but there are others that I like very much. Ever since I switched from Apple to Linux I have searched for an Apple-like way of entering special characters. “Special characters” are any characters that are not visible on your physical keyboard. For my needs this is mostly characters that are associated with typesetting and graphic design such as em and en dashes, “curly” quotes, copyright symbols and things of that sort. Special characters can also be characters from outside of your primary language.

Apple Mac OS

In the Apple world these characters are available in a manner similar to how the SHIFT key makes uppercase letters and a small group of other characters available. Most computer users and even typewriter users are familiar with how the SHIFT key makes an alternate keyboard available. The Apple OS by default includes two additional alternate keyboards. The OPTION/ALT key and the combination of the SHIFT and OPTION/ALT keys activate these alternate keyboards. All together these modifier keys make it possible for each key on the keyboard to represent four different characters.

Linux Operating Systems

It comes as no surprise that Linux offers not one but many ways to enter special characters. Here’s a list of the few that I am familiar with starting with the most inefficient:

Character Map
Use a graphic Unicode Character Map application.
Switch Keyboard Layout
Switch your keyboard layout to that of a different language or configuration with a special key or a button within your desktop interface.
Unicode Code Entry
Press a special ‘insert’ key and enter the Unicode entity.
Compose Key
Press a special ‘compose’ key and press two or four other keys that correspond to an individual character.
Dead Keys
Press a special key that activates ‘dead keys’. Dead keys are keys that represent accent characters that can be combined with the basic latin alphabet to output accented characters.
Third Level
This is the Linux world’s name for the Apple Special Character method. Includes dead keys just like the Apple method.

Third Level Advantages

What’s great about the Third Level method is that it includes the cross-platform defacto standard of dead keys while also providing a way to access other analphabetic and symbol characters. What’s bad about this method is the perfectly meaningless name associated with it. It’s not even consistent with itself since it provides a fourth as well as a third keyboard layout. Maybe I’ll come up with a better name by the time I finish this post.

How Third Level Works

Third Level works in the exact same manner as I described the Apple method above except that you are not stuck using the Option/Alt key. Generally, Linux uses the alt key for a lot of key shortcuts, so taking advantage of that dust-covered Windows key might be a better choice. The Fourth Level is activated by combining your defined key with the SHIFT key, just like Apple.

How to Use Third Level in Ubuntu/Gnome

  1. In Ubuntu using Gnome you can go to the Main Menu > System > Preferences > Keyboard
  2. In the Keyboard Preferences window go to the Layouts tab.
  3. Click the ‘+’ button to add an additional keyboard layout.
  4. Under ‘Country’ select United States.
  5. Under ‘Variants’ select USA Macintosh. Click the ‘Add’ button.
  6. You should now have at least two keyboard layouts in your ‘Layouts’ list. Specify USA Macintosh as your default keyboard layout.
  7. Click the ‘Other Options’ button.
  8. In the resulting window look for Third level choosers and under that choose a key that you would like to function as the modifier. I recommend using the Windows key if you have one. Lots of Linux programs use the Alt key in a manner similar to the Ctrl key, and making it the Third Level chooser could conflict with those shortcuts. When finished click the ‘Close’ button.
  9. Back on the ‘Keyboard Preferences’ window, click the ‘Apply System-Wide…’ button and then ‘Close.’
  10. Your keyboard should now have a third and fourth level keyboard layout including dead keys in a manner similar to the Apple OS.

If you want, it can be very handy to have the Keyboard Indicator Gnome Panel Item available. From this panel item you can switch between different keyboard layouts as well as summon a diagram of your keyboard that displays where to find the many different characters you now have available.

I hope you have found this article helpful. Let me know if there are any aspects of the above that I have misrepresented. My goal with the above information is to provide some basic information on a topic that seems to be rarely discussed. Maybe the Linux experts already know these options as a given, but there are a lot of new users that are probably in the dark.

Custom Google Maps To Display Store Locations

As the Web Producer/Designer at Country Weekly Magazine’s website I am proud to announce a new feature that will make it easier for people to find our magazine in stores. I was able to create this tool thanks to Google’s excellent generosity. You can see this new tool in action here: www.countryweekly.com/where2buy

If you haven’t already created your own custom Google Map, here are some resources that might be helpful. After figuring it out, it’s not too difficult and once in place it’s easy for others to update the locations.

How It Works

There are two components:

  1. the code on your site that defines how and where the Google Map is displayed
  2. a Google Doc spreadsheet containing a list of locations

In order for these two components to correctly produce a map similar to the one shown above you will need the following:

  1. Google Account to create the necessary Google Doc spreadsheet
  2. Google Maps API Key

Signing up for a Google Account is simple and you can get a Google Maps API Key at code.google.com/apis/maps/signup.html. There is also an excellent resource for general info about everything Google Map API at code.google.com/apis/maps/documentation/staticmaps/. However, there’s a lot of information there you don’t really need.

How It’s Done

  1. Build a spreadsheet with the desired marker locations. It can have columns similar to this, but you can name them however: rank, title, address, city, state, zip, description
  2. Geocode every location. Geocoding a location means providing a latitude and longitude, an exact global location, for each marker on the map. You can do this manually by finding the lat/long for a handful of locations with Google Earth. You can also use a free or paid service to automatically geocode your locations based on their street address. Here’s one of those free resources: www.batchgeocode.com. Just paste a tab-delimited version of your location list in, process, and then copy/paste their tab-delimited output back into your file.
  3. Copy your geocoded location list into a Google Docs spreadsheet and save.
  4. Share the location spreadsheet from Google Docs by having it open and clicking the ‘Share’ button and then ‘Publish’ the document. After the doc has been published Google will give you a URL where anybody can see this content. Toward the end of the URL it will say ‘key=’. Everything that follows that is your spreadsheet’s unique key. Save that key for later.
  5. Request a Google Maps API Key for the URL under which your map will appear on your site. Save that key for later.
  6. Go to the Create a Map from a Published Google Spreadsheet page. This page explains a lot on its own. It does a good job of bridging all of this technology and makes it apparent how simple it is to make this work. Everything I have helped you set up should fall into place as you follow the instructions on the Create a Map page.
  7. Paste the output of the Create a Map page into your webpage. Be sure to replace the example Google Maps API Key with your own. Without it your map will appear but your locations will not.

Once you have it up and running you can tweak the default location and zoom of the map and add some other cool features.

Tweaking: Set Default Location and Zoom

By default the Create a Map page sets the default location so that it contains your defined markers. Sometimes you want to specifically define the default location. In the generated code look for the following cluster:

cm_map = new GMap2(document.getElementById("cm_map"));
cm_map.addControl(new GLargeMapControl());
cm_map.addControl(new GMapTypeControl());
cm_map.setCenter(new GLatLng( 43.907787,-79.359741), 2);

Update the cm_map.setCenter(); bit to look like this:

/* Set default map position and zoom here. */
cm_map.setCenter(new GLatLng(41.500000,-99.600000), 7);

This makes it easier to find for future changes. To adjust geocode center of your map, adjust the numbers. The three numbers listed there are:

  1. Latitude
  2. Longitude
  3. Zoom

The zoom value seems to correspond to the ‘notches’ on the visual zoom tool that sits at the top-left corner of most Google Map implementations.

Tweaking: Enable Mouse Wheel Zoom Control

One of my favorite features of Google Maps is that you can zoom in and out of the map with your mouse scroll wheel. This isn’t enabled by default from the Create a Map page. It’s easy to add though. In the same cluster of code shown above add the following statement:

cm_map.enableScrollWheelZoom();

Summary

So that’s it in a nutshell. I hope this helps more people take advantage of the wealth of free tools that Google has made available by way of using standard HTML, CSS and JavaScript. It’s very cool stuff!

Review of GIMP 2.6 on Ars Technica, Bonus: A Link to Yours Truly

Dave Girard from Ars Technica has written a very realistic and thorough review of the GIMP 2.6.4 “Suite freedom: a review of GIMP 2.6.4”. It’s a couple of pages long, but any graphic designers out there that are pirating Photoshop for their home computers should take a look. It’s refreshing to see a designer’s perspective on the GIMP after actually using it.

My only gripe is his comment on GIMP’s image slicing capabilities. He sort of makes it sound like state-of-the-art web designers are still routinely slicing their raster image layouts into pieces to be reassembled in HTML <tables>.

The only time I use that technique now is for the backwards medium of HTML emails. Never mind the importance of meaningful, semantic markup, but with the prominent support of CSS in modern browsers (and even Internet Explorer 6), slicing images like this, though it is a nice feature, isn’t all that important. It wouldn’t hurt to have Photoshop’s functionality, but it’s not a deal-breaker.

BONUS

On the last page of the review I was delighted to see a link to my how-to “X11: Switch Control Key To Apple/Command Key” as a clever hack to switch the X11 modifier key from Control to Command for Mac OSX users. I’m pretty stoked!

1and1 Webmail Sucks

Dear 1and1,

I frequently defend the quality of services that you provide. You have a lot of enemies out there, but my experience has been positive. Your management tools are very simple and intuitive, especially when compared to GoDaddy (I don’t know WHAT is going on with their admin tools, but they’re getting better.).

Even your mail service is top notch. When using email clients, I rarely have problems receiving or sending emails. Good stuff.

However, I have recently been forced to use your Webmail service when away from home and it is a horrible experience. Why?

  1. Webmail login page does not have a simple URL that is easy to remember
  2. Interface is sluggish
  3. The plain text writing tool: cursor falls behind/gets out of sync with typing
  4. Webmail service is frequently unavailable

Otherwise, with the address book, other features and the overall design, your webmail could be a great product. These four issues (and I’m sure there could be more) diminish any other positives. If you could address the service availability at the very least it would be much appreciated. Thanks.

Sincerely,

Jason Simanek

Dean Allen and Textism

I have recently discovered a great blog by a designer that is smart and funny. Today I decided to Google his name and found a great article that he wrote for a list apart about being a good designer:

Reading Design

and at the bottom of that article his short bio states that he is the creator of Textpattern, a website CMS that I’ve been learning to develop with recently.

I love discovering that two people I find interesting are actually one person.

Fresh OpenOffice Templates

I was recently installing Ubuntu on an old Dell for a friend. I don’t try to push Linux on people, but if they want something cheap on an old machine I just tell them what a new version of Windows costs. At that point they either go buy a new machine instead or ask me more about Linux.

Once we get to that point I ask a them a few questions about how they use their personal computer. This recent situation called for compact disc booklet templates and a greeting card making application. In order to avoid complexity I rarely tell non-designers/tech geeks to give Inkscape, Scribus or the GIMP a try. What this means is finding some specialized application that makes the desired task super simple. If that isn’t available I turn to OpenOffice.

OpenOffice is surprisingly versatile and effective at the same time. There are also hidden benefits to using it, like dynamically generating letters for a small company with the power of OO’s mail merge tools or using embedded spreadsheets to create tables of data within a layout. Cool stuff that the professional-focused graphics tools leave to more specialized programs.

The end result, anyway, is that I decided to create some templates for OpenOffice. The related templates that the usual search engines pointed me to were not very good, so I thought providing these as free downloads might be helpful to some folks out there. What I have is a CD Booklet and Tray template and a Greeting Card template for OpenOffice Draw. Enjoy.

  1. Compact Disc Booklet + Tray template
  2. Greeting Card template

Designing Around WordPress

If you haven’t noticed, I’m doing something really stupid: I’m learning about WordPress Templates by way of making changes to my live site. It’s interesting how they built the Kubrick template. It’s probably very brilliant in its way of dealing with qualities of CSS. However, as an example to learn from, it has a lot of idiosyncrasies.

So far, I feel like this isn’t a bad night’s work in adapting an existing style from a ground-up site to a WordPress template. I hope the site remains to be usable during this transition period.

Subversion Commands

This glossary of Subversion commands is a work in progress.

My primary interest in creating this is to help people like me, that are not formally educated in programming. The abstract concept of version control is not difficult to understand or appreciate, but I have found that learning to use version control applications like Subversion or GIT without guidance is difficult.

You DO have to be familiar with command line basics. Remind me to write a glossary for the command line similar to this one. 😀

Don’t forget the excellent Subversion book that is FREE: Version Control with Subversion. There is also the very useful act of typing svn help into the terminal.

Create a Repository
svnadmin create /home/jason/mySVNrepo
Create an SVN repository named “mySVNrepo” in my user directory.
Adding a New Project (Set of Files) to Your Repository
svn import /home/jason/genweb [one space] file:///home/jason/mySVNrepo -m "initial import"
Add/Import the directory “genweb” to the “mySVNrepo” repository with the log message (-m) of “initial import”
Log Message
A Log Message is a description of the changes associated with a particular action. A log message can be
A brief statement: -m "initial import"
An entire text file: -F MyLogMessage.txt
Or enter directly from VIM: -m vim
Check Out a Copy from the Repository
svn checkout file:///home/jason/mySVNrepo [one space] /home/jason/MyWorkingCopy

\

You cannot work directly on the files saved in the repository. To make changes you must first Check Out a copy (like a Public Library) of the files in the repository. The checked out copy will be saved in the directory “MyWorkingCopy”
Command Line Basics
Before you go any further it is important that you understand how to use the command line.

  • The Command Line Interface (C.L.I.) is a way of interfacing with a computer operating system by way of commands that are expressed with lines of text. This is in contrast with the much more common Graphical User Interface (G.U.I.), a way of interfacing with a computer operating system by way of commands that are expressed with graphical menu selections or the movement of the mouse.
  • The CLI generally operates in a certain context: a file directory (or “folder” for those of you coming in from a GUI 😀 ). In the world of *NIX the most common CLI is called the “Bash Terminal”. In this terminal the context is stated before the flashing cursor: jason@NEWHOTNESS:?$ This means that the user is jason, the machine is NEWHOTNESS and the ? is shorthand for the active user’s home directory.
  • You can change the directory in which you are working with the change directory command. For example:
    cd ?/Desktop will move the CLI context to my desktop directory and indicate that it has done so like this: jason@NEWHOTNESS:?/Desktop$
  • Similar to HTML, the CLI can refer to files in two ways: absolute locations and relative locations. The change directory command allows you to move to the directory where the files you wish to act on are located. This saves you the trouble of typing out the entire absolute file path every time you execute a command.
  • To accomplish the following, it is necessary to change to the directory of your working copy. Some of these Subversion commands need context.
Check Status
svn status
Will retreive feedback on the status of your working copy files in relationship to those in the repository.
Status/Attribute Shorthand
  • A = Added
  • C = Conflicted
  • D = Deleted
  • I = Ignored
  • M = Modified
  • U = Update
  • R = Replaced
  • X = item is unversioned
  • ? = item is not under version control
  • ! = item is missing
  • ? = versioned item obstructed
Subversion uses letters to represent the relationship of your files to those in the repository. The ones that say a file is “unversioned” or not under version control illustrate that the actions of adding, moving or deleting files in the repository must be accomplished with the SVN application rather than your operating system’s file browser.
Update to Match Repository
svn update
Update your source to match the latest version in the repository, notifying you of every updated/added/deleted file as well as updates that may conflict with your own changes to the source.
Resolve Resulting Conflicts from Update
svn resolved '~/DevFolder/sourceFile.py'
After you have resolved the conflicts identified by Subversion, you have to tell it that you have done so.
Create Patch File
svn diff >> PatchName.patch
If you are not on the developer list for a project, you will most likely not be able to commit your changes directly to the repository. In this situation you can email or post a ‘patch’ file. The patch file is a very concise text file containing a description of the changes you have made, what file they are in and where in that file they can be found.

Nine Inch Nails: OSX Ghosts

If you haven’t heard, Nine Inch Nails has a new instrumental album out that is being sold directly by the artist via the web:

http://ghosts.nin.com

I gladly downloaded the free sample tracks to check it out. I’m not quite sure if I’ll purchase more or not. The true test is how entertaining the songs are while I’m sitting still on the interstate trying to get home from work in downtown Nashville.

It’s no secret that Mr. Reznor works on a Mac. I think in one of the boxed sets he’s even distributing the album songs in the GarageBand.app format to make it easy to create remixes. No offense, but I’d be more impressed if he offered them in Audacity format. Him distributing gBand files like that… well he might as well be on Apple’s payroll.

But let’s not be ungrateful bastards. He’s certainly one of the few popular artists today that understands how giving some of his source files away under a Creative Commons License is an excellent way to promote his cult of personality. Hats off.

With that said, finding a folder named ‘_MACOSX’ in the free download ZIP archive is still amusing. I wonder, does the Finder window look really cool when you open this free MP3 folder? Or is this just the side effect of how carefully they prep a ZIP archive for mass distribution? “Oh hey, let’s get that on the site tonight”.

[ right-click/Create Archive]

NIN Ghosts in OSX

GRAMPS 3.0 Coming Soon!

I am dabbling in software development with the GRAMPS (Genealogical Research and Analysis Management Programming System) project. It is a genealogical database building program that is available for Linux.

I got involved with the developer group after struggling to make my genealogy site look great. The markup techniques were outdated or wrong and nothing had an ‘id’ or ‘class’. After recommending the change to the devs, they let me know that it wasn’t a top priority and recommended that if I wanted to improve the output, I would have to do it myself. This would involve working with Python and also looking stupid asking dumb questions about version control and compiling GRAMPS myself to check my work. With a little time and patience (as well as being unemployed for three months in Nashville with just my wife for company) I put myself to the task.

I have been updating the ‘Narrative Web’ plugin, written in Python, that exports your genealogical data into a web site. Mostly I just corrected and updated the XHTML markup that was present amidst the Python. I did hack up the code a little so that the navigation could be styled to indicate the active page or section.

My primary focus was to make the sites more accessible to CSS. In the process I created a few style themes to be distributed with the application. I am quite proud of them and excited to hear feedback from the user community once GRAMPS 3.0 is released. Following is a few screen shots of the site output as it was and the four primary styles that I developed so far.

GRAMPS 2.2 Narrative Web Plugin Output

‘Modern’

GRAMPS 2.2 Modern Style

‘Tranquil’

GRAMPS 2.2 Tranquil Style

GRAMPS 3.0 Narrative Web Plugin Output

‘Basic – Ash’

Basic comes in a variety of color schemes and is based on the original ‘Modern’ style. I hate using the word ‘modern’ outside of discussions of philosophy or fine art. The general public in the U.S. is convinced that it means ‘contemporary’. No doubt this is thanks to decades of marketing professionals trying to make their products sound impressive.

GRAMPS 3.0 Basic Style

‘Nebraska’

I named this after my home state. It was my original stylesheet for the new markup. For that reason a lot of id and class solutions in the markup came out of challenges created by this design. I wanted this design to look fresh and inviting while being very easy to read.

GRAMPS 3.0 Nebraska Style

‘Mainz’

Named so for Gutenberg’s birthplace, this design was created to show off the potential of the new markup. It’s a bit repetitious of me, but for some reason the vision of the website as a sheet of paper is very appealing. I started this one based on the name of one of the original GRAMPS styles: Certificate. The original style didn’t really look like a certificate, but this one does.

GRAMPS 3.0 Mainz Style

Default Print Style

This is probably the style that will be the most overlooked. With XHTML + CSS there is the potential for the browser to automatically switch stylesheets based on the media of representation. You can define one stylesheet as ‘screen’ and another as ‘print’ (there’s actually quite few different defined mediums according to the W3C, including ‘mobile’ and ‘projection’). GRAMPS is the first project where I could form a strong argument for using this feature to its full potential. Now anytime someone prints a page from a Narrative Web site, the output will be well designed for print with an emphasis on efficiency and legibility.

GRAMPS 3.0 Default Print Style

There’s still more work to do, but I wanted to get the word out on this great update to GRAMPS that’s just around the corner. Along with my relatively minor contributions, the other developers have been working very hard to make 3.0 an impressive and powerful update. If you are interested in trying it out, do keep in mind that in the open source world ‘.0’ means ‘submit final work to users and fix a lot of reported bugs’. So, if you are looking for a perfect application, I recommend waiting for GRAMPS 3.1. 😉

Dell XPS 420 with Linux Review

Dell XPS 420Well, it’s not perfect. I think my big mistake was not going with the more expensive NVIDIA video card. Actually, I’m fairly certain that any problems I am having have everything to do with the video card: ATI Radeon HD 2400. On the whole it’s exactly as advertised. Following are some things that I feel are important features.

Packaging

I was disappointed that the box for this beast was so big. I’ve seen the recent Mac Pro tower boxes and they are not much bigger than the machine itself. The XPS 420 box is HUGE. This does mean that the machine arrived in pristine condition though.

Dell is definitely close to Apple in presentation with the XPS systems. Here’s what came with the machine:

  • 1″ thick User Manual
  • Small quick start manual
  • Very nice noise-canceling ear bud headphones
  • Velcro straps to help you keep your many wires and cables under control
  • Dust Towel for the everyday necessity of wiping the dust off the glossy black finish
  • Faux-leather XPS-stuff collection book-ish thing to hold this stuff
  • Dell Multi-media keyboard (extra $25 I think) It’s very nice
  • Dell 2-button mouse with scroll (I am using my trusty Logitech MX310 instead)
  • REAL WINDOWS VISTA INSTALL DISC (not a stupid ‘from recovery partition disc’)
  • ATI Driver disc, basic Dell software disc, Adobe Photoshop and Studio Elements, Microsoft Works

I also bought a $50 speaker set from them with these nice, small speaker panels to put on your desk and a 12″ box sub-woofer to put on the floor. Sounds great, but would rather just have the table speakers alone.

Fit and Finish

The XPS 420 seems well built and solid. Surprisingly, it’s just about as big as my G5. However, it weighs no where near as much. Also, this thing runs very quiet. Now I realize how loud the G5 was. I think I remember them advertising the G5 as a quiet machine, but maybe I’m crazy.

Dell XPS 420 tower tray
There’s a nifty rubber-bottomed tray on top of the tower that is an excellent fit for all of those gadgets that usually end up on top of your tower: Portable Media Player, Digital Camera, and I put my wireless router there as well. They also provide some thin slits to hide you USB cables that run from the devices to the much-appreciated SIX USB PORTS on the back of the XPS. I don’t think Apple would ever do this, but I love it.

Dell Multimedia Keyboard
The Dell keyboard feels good and the multimedia keyboard comes with an attachable palm rest. I highly recommend spending a little extra for this keyboard. The multimedia keys all work in Linux except for the ‘Volume Dial’ which apparently does not have a ‘button push’ input. If you Google it, somebody has written a script to handle the input, but I just remapped the big arrow keys on the left to control the main system volume instead. It’s nice to have keys specific for media player (next track, previous track, play/pause). There are a few additional buttons that can be used for pretty much anything. I was able to set the ‘Close Window’ button to ‘Eject’ the optical drive disc. My wife likes the Calculator button. Also, someone other than Apple has finally caught on to the idea of putting USB ports on the keyboard. That’s excellent.

GNU/Linux Experience

Thanks to the video card, installing Ubuntu wasn’t very slick. Eventually I used the Alternate install disc with the text-based installer and was sure to specify only my optimal screen resolution, a few smaller resolutions and nothing larger than what I planned to use. Once I figured that out everything went fine after installing Envy and getting the direct ATI video driver.

Everything works aside from things related to the video card. What doesn’t work?

  • Fast User Switching: I get a black screen and Ctrl+Alt+Backspace doesn’t help
  • Hibernate and Sleep: Appears to go to sleep fine, but won’t wake up
  • Compiz Fusion with dual-display: It does work, but doesn’t feel stable and playing video suffers with it on

The only thing I use Compiz Fusion for is the Exposé-like window picker and I think the Alt-Tab app switcher in Compiz looks nicer and is larger. So, not a huge loss and I’m confident these issues can be resolved with improved driver offerings from ATI. Fast User Switching would have been nice also.

The ATI Catalyst Controller application for setting up the video card works well enough. Setting up a second monitor with a combined desktop space was simple. It’s seems a little out of wack though. I wouldn’t fiddle with it too much.

Performance

My system sports the Intel Core 2 Quad 2.4 GHz processor with 3 GB of RAM. This machine is fast fast fast. I’m pretty sure most of the speed comes from just one instance of the 2.4 GHz processors. The Quad proc does flex it’s muscles when exporting/converting/compressing video and audio. I don’t have numbers for you, but I was exporting some MP3 files from audio recordings I had made a while back with impressive results. I started the process on my 1.6 GHz 1 MB RAM G5 just to compare. The MP3 compression was at least twice as fast using the latest version of Audacity on both machines. And if you watch the processor activity graphs, the old G5 was peaking the whole time while the Core 2 Quad just hummed along on two of it’s four cores.

Running virtual machines with it is an excellent experience. As mentioned earlier, my wife likes to watch ABC shows online. I tried the Firefox-for-Windows-Over-Wine trick, but that’s not working right. Instead I set my wife up with a Windows XP VM using VirtualBox. I know VMWare is king in virtualization, but installing VMWare server, after agreeing to the legal mumbo-jumbo is a pain and apparently I can’t install VMWare Player via Synaptic on my system (I don’t get it). VirtualBox, because they offer a full open source version, is much easier to install. The performance is good too. I hear the big difference is in networking and that’s not really why I need a virtual server anyway. Regardless, my wife can enjoy a full-screen ABC.com HD video experience on my Linux system via Windows XP via VirtualBox. Fantastic!

Windows Vista

For starters, Windows Vista runs just fine on a VirtualBox VM with plenty of allotted RAM. However, now that I’ve had some time to look around, I find Vista to be very cluttered. The main menu has too much stuff displayed immediately and there’s so much crap on the initial desktop including the widgets that I felt claustrophobic. I can only imagine what a less savvy user would think on initial start. I’m confused. I thought they were trying to minimize menus and everything to focus on the average user with the capability to customize for an advanced user. They’re so inconsistent. Windows XP was actually looking good in my opinion. As a Mac user I felt a little threatened at the time. I think Vista may be a step back.

On the other hand, the install experience was a big improvement, but unfortunately most of their users won’t ever experience it. The loading and log in screens look great too. I’m starting to wonder if I should start fiddling with the Linux Gnome log in screen. Somebody, a designer, needs to step in and make it cool like what Windows Vista and Mac OSX offer. Currently the standard ‘enter username and password’ screens can look nice, but the ‘list of users with avatars’ screens look like crap on a stick.

Login Ubuntu Login CleanX
Login OSX Login Windows Vista
Login Linux Gnome User List

Complaints

  1. I can only wait for ATI to improve their Linux driver. Supposedly more ‘openness’ is coming down the pipe. Worst case scenario: I’ll buy another video card. However, it seems like the best open source video support goes to Intel’s integrated video hardware. Since ATI is owned by AMD and NVIDIA is owned by Intel I’m pretty sure Intel is sharing info about the integrated video because it’s their low-end hardware. Somebody tell me what a good 3D and dual-head capable video card is for Linux. It all looks bad outside of older hardware that has been reverse engineered.
  2. The black gloss looks great in photos but is a bitch to keep clean in the real world. Anybody that’s owned a black car knows that.
  3. Frickin’ Windows Sideshow display is completely worthless, even if I was running Windows.
  4. Too many wires and cables. I definitely appreciate why people pay a lot for an iMac.

Dell XPS 420 Lots of Wires

Overall

I’m very pleased with this system. It’s extremely nice and it’s a pleasure to finally use a high-powered machine with plenty of screen real estate to run my favorite open source graphics programs. I apologize for the long review (took WAY too long to finish) but there were a lot of relevant details. I hope this review is helpful for Linux users looking for new hardware especially.

 

Photoshop CS in Linux

Being a freelance Web Designer & Developer is a good career if you are trying to work full time on Linux and open source software. However, you still have to be compatible with your clients’ source files and backups. This means using Photoshop to build layouts or at least slice up the layouts that you get in PSD file formats.

I have been using my aging G5 (boy, saying that makes me and my checkbook cry) to deal with Photoshop files. However, since I have been setting up this beast of a Dell for the Ultimate Linux Desktop I spent some time today in getting the Windows version of Photoshop CS running on top of Wine, the Windows Compatibility Layer.

Wine is so good right now that you can simply throw the Photoshop install disk in your Linux box and run the installer. I’m not kidding, but keep in mind that this is Photoshop CS, not the latest and greatest Photoshop CS3. Wine’s site has a great deal of information about a variety of Photoshop versions running on Wine.

How did I do it specifically? I installed Wine, the Microsoft TrueType Core Fonts Ubuntu: sudo apt-get install msttcorefonts, customized the Wine interface to taste via Applications/Wine/Configure Wine and then ran the Photoshop CS installer.

Hold On, Save For Web Isn’t Working!

Alright, so there is one big fat catch that, if not dealt with, pretty much makes Photoshop worthless to web professionals: The amazing Save For Web plugin doesn’t work. Damn. So close.

Solution: The Magic of Windows Back Slashes

Yeah, it can be fixed! So, the secret is in how you start Photoshop. Either you or Wine setup some kind of shortcut unless you are starting Photoshop from the command line. Here’s how my original shortcut command was written:
env WINEPREFIX="/home/jason/.wine" wine "C:/Program Files/Adobe/Photoshop CS/Photoshop.exe"

and to fix the Save For Web problem, simply replace the forward slashes that follow C: with back slashes:

env WINEPREFIX="/home/jason/.wine" wine "C:\Program Files\Adobe\Photoshop CS\Photoshop.exe"

Huh? What?

Don’t ask. I can only guess that how that particular plugin was written included Windows-directory style references within the code. Sincerely, I have no clue. Thankfully the Wine developers figured it out. On that page it mentions Photoshop 7 specifically, but CS works the same way.

Kodak C330: Apparent SD Card Size Limitation

Kodak C330

Yes, this camera is over two years old. However, we’ve been wanting to replace my wife’s 256 MB SD Card for some time now. With much appreciation, we received a shiny new Kodak-brand 2 GB SD Card for Christmas from her parents. Excellent.

I finally got around to trying it out today only to discover that the C330 camera reads the card as ‘Full’ and any attempt to format the SD Card (which I know to be completely empty) results in the statement ‘Filesys Error 0e0010’.

Fortunately I have another SD Card-based digital camera. It sees that the card is empty and says I can take 600+ pictures at some ridiculously high resolution. I even tried swapping my other camera’s 2 GB SD card with the new one with the same result.

My conclusion is that it’s the size of the card at fault. The 32 MB and 256 MB cards we have work just fine with the C330 while the two different 2 GB cards both have the same problem with this camera. This isn’t surprising coming from a fairly inexpensive camera, but still disappointing knowing that her parents could have spent a lot less money for a card that we could use.

My last gripe is that this apparent limitation isn’t listed in the specifications for the camera in the user manual or on the Kodak site. Perhaps the primary audience for this device is the type that just uses the card it comes with? Perhaps Kodak never imagined SD Cards getting so big! 😉

X11: Switch Control Key To Apple/Command Key

One of the major problems with using X11 to run *NIX applications on OSX is switching from using the Apple/Command/⌘ key to using the Control key as your primary modifier key.

First of all, I don’t understand why the Control key is where it is on keyboards for OS’s that use it as the primary modifier key. It is probably the least ergonomic key to use (unless you have the good fortune of using a Thinkpad, since they don’t include the Windows key). Apple, for all its missteps, gets it right by making the primary modifier key easy to press in combination with other keys. Command, Control, Apple, ⌘, whatever you call it, put it in a comfortable spot! That one detail almost prevented me from switching to something other than OSX. Seriously.

With that said, it’s no surprise that Apple puts the rarely-used-in-OSX Control key off to the far corners of the keyboard. As to why Apple doesn’t include an option to switch the Control/Command keys in the X11 preferences, I can only imagine.

Second, making this change isn’t for *NIX purists that like it the way it is. Don’t get pissed at me. I’m just trying to help Mac people enjoy the fruits of the Open Source community because I’m frustrated with Microsoft and Adobe (and even Apple). Their customers take a back seat to their interest in making money.

Let’s Get Started!

This is simple and if anything goes wrong, it’s easy to get back to where you started. Here’s the meat and potatoes:

  1. Start the X11 application
  2. In X11 go to X11 > Preferences > Input tab. Make sure that the following options are UNCHECKED:
    • Follow system keyboard layout
    • Enable key equivalents under X11
  3. Close X11 Preferences.
  4. Open the Terminal.app (Applications > Utilities > Terminal.app)
  5. Type the following in the Terminal window:
    vi ~/.Xmodmap and press Enter. This will open a file named ‘.Xmodmap’ located in your home folder ‘~/’ with the text editor program called Vi. Don’t be frightened!
  6. Vi is run from within the Terminal, so it won’t look much different. Press ‘a’ to switch to Vi’s Insert Mode (I think the ‘a’ stands for ‘Append’) and then type in or copy/paste the following text:
    ! ~/.Xmodmap
    clear Mod2
    clear control
    keycode 63 = Control_L
    keycode 67 = Control_L
    add control = Control_L
  7. If you have a MacBook and want to use both the left and right ⌘ keys, use this version instead:
    ! ~/.Xmodmap
    clear Mod2
    clear control
    keycode 63 = Control_L
    keycode 67 = Control_L
    keycode 71 = Control_L
    add control = Control_L
  8. Now press ‘esc’ or the Escape key to exit the Insert Mode and return to the Command Mode.
  9. Type :wq and press Enter. This command tells Vi to Write (think ‘Save’) the changes you made to the file and Quit Vi itself.
  10. Type xmodmap ~/.Xmodmap and press Enter to complete this process.
  11. Quit Terminal.app
  12. Open something in Gimpshop, Gimp, OpenOffice, Inkscape or any X11 application that you use to test if you have successfully switched to the Apple/Command key.

If you suddenly cannot get any of your X11 applications to start, you can delete the .Xmodmap text file from your home directory. To do this, open a Terminal in either the X11/terminal or the OSX Terminal.app: rm ~/.Xmodmap and press Enter. The command rm stands for ‘Remove’. Be careful with this command. There is no ‘undo’ in the command line.

This post uses information found at //extrabright blog and The University of Illinois at Chicago’s Unix 101 pages on Vi. This is my attempt to write a more concise how-to.

New Dell XPS 420: Linux Dream Machine?

One week before Christmas my beloved Thinkpad T42 started having motherboard problems. After a little looking around I found that the problem was common. I don’t know what the deal is exactly, but pressing on the keyboard or touchpad too hard causes the display to flicker and the system to freeze. As a bonus it will also freeze at completely random moments. No more reconditioned laptops for this kid.

So I just finished ordering my first Dell desktop. I have been looking around at the Circuit City, Gateway, NewEgg and System 76 sites. They all have great Core 2 Duo-based systems at good prices. I applaud what System 76 is doing selling Ubuntu pre-installed systems only. Unfortunately it looks like they can’t compete with the buying power of the much larger discount computer manufacturers. I can’t deny my financial situation. The price difference is just too great. I even looked at building my own machine with pieces from NewEgg, but after talking to a friend I swallowed my former-Apple-promoting pride and gave Dell a try.

First I looked at the Ubuntu Pre-installed systems that Dell offers. Much to my disappointment the offering is very limited and not high-powered. To me, I would think that Linux users are generally advanced computer users that buy fairly high-end systems. I’m sure they did a lot of market research to determine what systems to offer, but this looks like a misstep to me. Perhaps their target isn’t people that know how to install Linux on any machine. Perhaps their target audience are people looking for an inexpensive alternative to Windows. However, if that indeed is the goal why aren’t they selling the Linux systems along side the Windows systems?

I decided to just shop at the regular Dell store and install Ubuntu myself. From what I’ve read, there are Linux drivers for most of the hardware provided, albeit ‘restricted’ drivers provided by the manufacturer. I don’t have a problem with installing these drivers. I’m grateful that the manufacturers even bother to provide them. Also, the companies will respond to increased demand for their product. They won’t necessarily respond to an extremely small group of people bitching about their drivers being open source. That’s how I look at it.

I settled on the XPS 420 because of its price range and power. Here are my new machine’s specs:

  • Intel® Core 2 Q6600 Quad-Core (8MB L2 cache, 2.4GHz, 1066FSB)
  • 128MB ATI Radeon HD 2400 PRO
  • 3GB Dual Channel DDR2 SDRAM at 667MHz – 4 DIMMs
  • 320GB – 7200RPM, SATA 3.0Gb/s, 16MB Cache
  • CD/DVD Burning Optical Drive
  • External speakers with sub-woofer
  • FINAL PRICE: $974 (after $100 savings, before tax/shipping)

The video card is supposed to be capable of outputting to two displays. However, I am prepared to buy a second video card later if that doesn’t work under Linux. I know that my Apple G5’s video card doesn’t successfully accomplish dual-display under Linux even though it works fine under OSX. Maybe xrandr is more capable with this particular video card. I am very impressed with the potential of xrandr, especially after my S-Video Out setup from a few weeks ago.

I’m expecting this machine to be everything I could ask for in my own personal design/development system. It should be delivered before the end of the week, but with the New Years holiday it might be next week before I can get back to working in Linux. I will report on the outcome asap.

Homework assignment:
If anyone can explain exactly how many ‘cores’ are in the above listed processor, I’d love to know. Due to the 4-DIMM ram setup I am guessing the magic number is four. However, the title ‘Core 2 Quad Core’ is confusing. If a Core Duo has two cores, a Core 2 Duo has four cores, then a Core 2 Quad Core should have eight cores, right?