Resizing Adobe App Windows In OSX

I just realized something sweet about Adobe apps. Well, those in CS4 or newer that are running on Apple’s OSX at least:

Adobe App windows in OSX can be resized by clicking and dragging on any available edge!

This is the way all application windows work in Windows and Linux as far as I know, but Apple is unique in only providing this capability from the lower-right corner of each window. I think their reason for this is to simplify their user interface and to be consistent with the lower-right “grip” being the only indicator on most windows that they can be resized. I don’t subscribe to that reasoning.

I know it’s a small detail, but this saves me a lot of trouble, especially in Photoshop when working with multiple windows that I seem to be constantly resizing. Lately I’ve found the “full-workspace window” to be a very efficient way to work on a single file in Photoshop, but until today I was apparently wasting a lot of time moving windows by the titlebar so that I could bring the bottom of the window onto the screen and, finally, adjust the window’s size via the lower-right grip.

I generally have very few good things to say about Adobe products, but this is definitely a great feature that I hope Apple will one day propagate to all windows in OSX.

Gnome Global Menu: Apple Immigrants Rejoice!

If you are a Linux user that either used to or still does use Apple’s OSX, the Gnome Global Menu might be just what you were looking for to feel at home on Linux. At least if you’re running Gnome or XFCE.

Anybody that has every run an Apple computer with a mouse knows that every application on a Mac displays its menu bar (File, Edit, etc.) in the top-left of the system’s overall screen. This is in contrast with Windows and most Linux window managers that show each application’s menu bar within its own windows, even if that application employs more than one window. This difference is one of those things that most people love one way or the other religiously.

I’ve always preferred the Apple-way since it’s more efficient, especially when it comes to applications like Photoshop or Gimp that are frequently used with multiple windows actively being used in a non-maximized state.

I always assumed this difference was central to how each individual OS’s worked and managed windows. The Gnome Global Menu project seems to make it look pretty easy though. The only programs that don’t cooperate on my system are Firefox and OpenOffice. From what I understand this is due to both having developed their own OS-independent methods for generating their primary menu. (I have a fix for Firefox that I’ll blog about later. Check out the “Tiny Menu” addon.)

All you have to do is install the Global Menu packages and then add the Global Menu Panel Applet to your main menu bar. I also replaced Ubuntu’s custom menu applet with the single-icon Gnome Menu applet, placing it directly in the left corner with the Global Menu applet directly to its right. Looks just like home (on a Mac)! You might need to restart or log out/in to see the menus removed from all of the individual windows, but as you can see in the screenshot above, the Global Menu works great.

Minecraft: Make Something Virtual

Have you checked out Minecraft yet? I was looking at it last night. You can play the “old” version for free online in your web browser via the Java plugin (yeah, a use for that thing, finally).

Here’s a blog post about it:

Read this: The Year Minecraft Made Playing Alone Cool Again.

It’s interesting. I’m tempted to play it ’cuz you can make yourself a cool virtual castle or, like this guy says, a giant water slide. I guess the only objective is to make a shelter before the sun sets, then the zombies come out. Or something.

Then I think, wait, I could instead spend that time creating something REAL in the REAL WORLD. Wait, that’s kind of what I’ve been doing my WHOLE life. I’m always, generally, drawing or painting or making websites or learning about fixing computers or making wine or teaching myself how to bind books or YOU NAME IT.

If people aren’t living their life like that, it’s no wonder so many people waste their entire lives watching brain-dead television or playing video games, looking for meaning in their life. I, fortunately, have a talent or a natural drive to keep making things and I am eternally grateful for that gift.

If you don’t have that drive, I guess Minecraft sounds like a good place to start learning.

New Gcolor2 Icon Art

As a web designer I find application-independent color picking tools extremely useful. I am often working with an array of applications simultaneously and the color I want to identify/dissect/define can be present anywhere on my screen. Being tied to the color picker from either Photoshop or Gimp is very limiting. Usually their “dropper” tool will only work within their own environments and windows. This makes identifying colors that appear on websites impossible without a standalone color picking application (unless you use something like firebug to see the color’s identity in the sourcecode/dom).

Gcolor2 is an excellent and simple little tool for web designers and developers running Linux. It has a dropper that can select a color from anywhere on screen and it describes each color in hexadecimal as well as HSV and RGB parameters. You can even keep a list of saved colors if would like.

However, the one shortcoming of the application is its bronze-age icon. It looks like it would be right at home on any ’90s-era desktop. See for yourself:

Needless to say, it looks awkward in the context of any contemporary desktop. It also lacks a nice clean edge, giving it jagged silhouette.  For this reason I opened up  Inkscape one night and created a new icon for Gcolor2. I really think the “drawn with a crayon” look was a ’90s style, so I abandoned that approach and recreated the tri-color cube as a more contemporary and clean-edged glowing box:

I think this a good solution. It’s not a complete departure from the original design but it is a refresh that will hopefully look great on the latest desktop systems. I have tried to submit it to the Gcolor2 project, but there hasn’t been an update since 2005 and none of the developers seem to have time to respond to my proposed new artwork. Today I submitted a patch and included the new artwork as a PNG and SVG files. You can certainly go there to get them, but you can also download the files here if you’d like to update your own desktop:

Download my 2010 version of the Gcolor2 icon as SVG

Another great application for working with colors in Linux is called Agave. It generates color schemes based on various color relationships like complementary, triadic, tetradic and analogous. Just give it one color and it will give you other colors according to the relationship type you specify. Fortunately it already has a very nice icon!

Add Bulk File Renaming to Apple’s OSX Finder.app

Today at work I was asked how to rename multiple JPEG files on a Mac. This individual was apparently able to accomplish this amazing feet with very little effort on a Windows system. (Every time I hear someone say how easy Windows makes something my stomach turns.) I used to have an AppleScript that did just that, but I have since lost track of that file. So I looked to the internet. Surely it’ll only take a few minutes to make this happen, right?

There is one free application available for renaming files (NameChanger) and there are several tutorials about using AppleScript and/or Automator.app. The DIY script and Automator options are okay for certain types of people, but the people that really need help will struggle to understand how to use these tools. What are all of the non-geek OSX users supposed to do?

Well, here’s another one of my small contributions to society. A free Automator.app-created workflow that will add the option ‘Rename Multiple Files’ to the contextual menu in Finder.app. Just select multiple files, right-click and select ‘Rename Multiple Files’ and away you go!

Here’s how to install this Rename Multiple Files tool:

  1. In the Finder navigate to /Users/yourname/Library/Services/
    [if “Services” doesn’t exist, create a new folder and name it likewise]
  2. Download the RenameMultipleFiles.zip, extract the contents onto your desktop (double-click in OSX)  and copy the file “Rename Multiple Files.workflow” to the previously mentioned “Services” folder.
  3. Open a Finder window with multiple files. Select all of the files. Right-click on the selected files. At the bottom of the contextual menu you will find an option titled “Rename Multiple Files”. (It may take a minute or two for this new option to become available on your contextual menu.)

Shortly after you click on “Rename Multiple Files” you will be presented with a small window and several options. To save a verbose explanation I have included screenshots of the options below.

This workflow was created on a Mac running OSX 10.6. It is dependent on Automator.app. It definitely works with other 10.6 machines, but if you are running some other version of OSX it may or may not work.

Please give me feedback about whether or not this is useful or if it doesn’t work at all. Thanks.

Just Started Running BOINC!

I’ve been running my Debian Linux (PowerMac G4 780 MHz) file server for almost a year now. Aside from a recent near-suffocation from cat hair it has had no problems. When we’re going to be out of town I shut it down, but otherwise it runs all the time. We haven’t really noticed the addition to our power bill and in the winter it just contributes to the in-home heating, so it’s not a big deal. Especially considering that I got this machine for little or nothing.

It’s pretty nice being able to jump from my desktop to my laptop without missing a beat when working on various projects or to listen to my entire music collection from anywhere in my home. It’s also very satisfying to have a weekly automated backup to a secondary drive for all of my files. I don’t have an off-site backup solution yet, but at least I’m prepared for hardware failure.

Better late than never, but I finally got around to setting up BOINC on this server.BOINC is “Open-source software for volunteer computing and grid computing.” Basically, it turns lots of individual computers into one effective super computer. The main goal behind this software is to allow individuals to help under-budgeted research projects by allowing them to use their idle computers to process computations.

Since my PowerMac G4 spends most of its time twiddling its thumbs I thought it would be good to give it something constructive to do. In this case I have set it to help with the Rosetta@Home project:

Rosetta@home needs your help to determine the 3-dimensional shapes of proteins in research that may ultimately lead to finding cures for some major human diseases. By running the Rosetta program on your computer while you don’t need it you will help us speed up and extend our research in ways we couldn’t possibly attempt without your help. You will also be helping our efforts at designing new proteins to fight diseases such as HIV, Malaria, Cancer, and Alzheimer’s.

It sounds like a pretty good thing to provide assistance to. I’ll report back once my server has actually completed some work and registered on the project’s meters.

Printing Marks in Inkscape

Inkscape Printing Marks Extension Interface and Output

Not sure when this feature was added, but I’m running the Inkscape 0.47 preview and discovered that the default install now includes a “Printing Marks” feature. You can access it from the main menu:

0.47 Extensions > Render > Printing Marks

0.91 Extensions > Render > Layout > Printing Marks

The small options window that pops up allows you to adjust a variety of settings for the position of the marks as well as the type of marks to be displayed, seeming to cover all of the needs of a typical commercial printing process.

PM-MarksPM-Position

The “Live Preview” option makes it easy and efficient to adjust the settings to match your desired output. Once you hit Apply the specified marks are added to your document as vector art in a new, locked layer titled “Printing Marks”.

In the past I’ve manually created crop marks when needed, but this is a major step on the road to serious recognition and use by graphic design professionals. Eventually it would be great to see these options removed to a print and/or export dialog interface, but this is an excellent option to have as well.

Inkscape is an open source and free application built around the SVG recommendation that makes it easy to create vector images. I use it to create illustrations as well as single-page layouts of all sizes. In fact, I recently created a business card layout with Inkscape, exported as PDF and sent to a printer to create offset business cards. The cards turned out great without any problems. A serious vector art tool.

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.

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!

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

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.

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. 😉

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.

IEs4Linux Also for OSX on Intel

I have been using the IEs4Linux system for a while now to assist in developing websites. It allows you to install various versions of Internet Explorer in Linux. It’s great for testing websites against the many bugs in IE as you develop them.

Recently they have developed a version for OSX on Intel machines.

http://www.tatanka.com.br/ies4linux/news/49

You have to install Darwine and X11 on OSX to use it, but after that it seems pretty easy. I am not so fortunate as to own an Intel-based Mac, so I can’t test it for you.

Wine info
http://wiki.winehq.org

Darwine info
http://darwine.sourceforge.net/download.php

Wine on OSX info
http://wiki.winehq.org/MacOSX

Create and Manage Professional Letters with OpenOffice and PDFTK

I have slowly been learning the ropes of professional presentation for my freelance work. Design school taught me a thing or two about designing letterhead and the importance of looking professional and organized (sort of like flexing your muscles before a wrestling match). However, they certainly didn’t teach anybody how to actually put those designs into use in an organized workflow. Word-processing programs were the devil. As a result of their design program zealotry I have a lot of resumes, cover letters and general business letters that are Pagemaker, InDesign, QuarkXpress and Illustrator files. This isn’t what these programs were built to do.

These programs were built for carefully typesetting layouts

This problem makes the process of writing a letter too complex. I know what you’re saying. You think I’m lazy. You’re wrong. I have great powers of determination and focus, but usually I get distracted by details. Suddenly I’m typesetting a bill and not just writing up a bill. Before I know it I’ve shot the afternoon twiddling with letter-spacing on a 6 hour project billing.

The solution to this ease of distraction is to use the right program for the task at hand. A word-processor is a powerful tool and can save you a lot of time without compromising your concern for appearances. How do they save me time?

  1. Page Templates
  2. Style Sheets

“But my layout program has that and MORE!”, you say. Well, that’s my point. You don’t need more to write letters.

WYSIWYM

One of the cool ideas I came across in my Linux/Open-source self-education is the acronym ‘WYSIWYM’. We’re all familiar with WYSIWYG (What You See Is What You Get) and that applies to all of our layout and common word processing programs. WYSIWYM stands for ‘What You See Is What You Mean’. A subtle but important difference.

The program that is most popularly associated with this concept is called TeX (pronounced ‘tek’). If you’re interested in the history, check out Wikipedia. My introduction to TeX was actually through another program called LaTeX which simplifies the creation of TeX markup. In LaTeX you simply see the text with no formatting. All you see is a definition of document structure to the left of your content (this line is a Headline 1 format, that line is a blockquote). No nitpicking about what font and linespacing. Unfortunately, this program had a big learning curve and I don’t recommend it for most people. Plus, when it came to printing and generating PDFs I ran into a lot of missing elements that needed to be installed separately. Not easy to setup.

Okay, so, what’s that have to do with using a word-processor? Well, you can use a w-p in the same way via style sheets. Here’s what you do:

  1. Take an afternoon to design your letterhead in your layout program of choice.
  2. Figure out what the margins on your letter have to be to fit your letterhead format.
  3. Save a pdf of your letterhead design as though you were printing blank letterhead.
  4. Open a new document in OpenOffice (or MSWord if you must…) and set the margins accordingly.
  5. Now type out some example copy or use an existing letter to work out your stylesheet.
  6. Design all the styled elements that you foresee using in your letters. Take your time. Get the after-paragraph-spacing and typefaces all figured out so that it looks beautiful. Make sure that you are using the ‘Styles and Formatting’ palette or window and modifying those elements with your changes.
  7. Delete your test content and save this document as a TEMPLATE somewhere handy.
  8. Every time you want to right a letter just open a new document from this template and write your letter with a WYSIWYM state of mind using your preset styles

Now your letterhead is one file and all of your little letters, bills and requests can be saved in simple word-processor files. If you’re especially concerned about future-proofing your letters, check out OpenOffice and the Open Document Formats. From Wikipedia:

OpenDocument benefits from separation of concerns by separating the content, styles, metadata and application settings into four separate XML files.

So, worst case scenario: after the demise of OpenOffice twenty years from now you are left with an ISO-standard document format that will most likely be supported by any respectable word-processing program that exists at the time.

Actually, even worse: ODF isn’t supported at all so you are left with the option of opening the XML file containing only the basic text content of your letter which you will have to reformat.

Either way what’s the chance of your InDesign CS3 binary format file being accessible that far in the future? Good luck trying to pull the plain text content of your letter out of a binary file!

Merging the Letter with the Letterhead

On Linux there is a great command line program called ‘PDFTK’ or the PDF Took Kit. It does some cool things but my only use for it right now is to merge our Letterhead.pdf with our LetterToBob.pdf. It’s simple as pie, but I want to look into creating a simple GUI for it. A little dialog window can’t be that difficult to program, can it? 😀

First install PDFTK via Apt-Get or Synaptic if you are on a Debian-based Linux distribution. Otherwise, get on Google and look into getting it. Sorry for the lack of support at this stage.

Once you have it installed, open a terminal window. For this example I am going to save my two PDFs to my desktop and then use PDFTK to merge them from there.

Go back to the Terminal, change to your Desktop directory (cd ~/Desktop if you don’t know) and type the following:

pdftk LetterToBob.pdf background Letterhead.pdf output LetterOnLetterhead.pdf

Break It Down!:

  1. First tell the terminal which program to use
  2. Specify your original PDF document by filename
  3. ‘background’ specifies the function of PDFTK to use
  4. Specify the background PDF document by filename
  5. ‘output’ tells the program what to name the product of the indicated action
  6. Specify the filename for the product of the PDFTK background action

Click enter and you will have a new PDF named ‘LetterOnLetterhead.pdf’ on your desktop shortly.

I don’t know, but I can only hope that Adobe Acrobat Professional can also merge PDFs in this way.

Now you have a professional letter on your own custom letterhead in PDF format for emailing or printing. The ODF files are simple to keep organized and your letter head is easy to keep track of on one layout file. This could be accomplished with layout tools as well, but this is how I do it and thought other people might benefit from hearing about it.

Adobe CS3: A Real Dud

As you can guess, I’m not all that impressed with CS3.

Photoshop made some great improvements to the Layers Palette

  1. You can finally temporarily select multiple layers with the ease of shift or command+click
  2. Creating a New Group with several selected layers is Command+G
  3. The Move tool can be sensitive to groups if you wish it so. Nice to be able to shift things around without constantly referring to the Layers Palette

I don’t use InDesign or Illustrator enough to say, but the most obvious feature across the CS3 club is that they are even bigger apps than before and they take even longer to startup than before. Oh, and they’re sluggish too. Why is editing slices such a laborious task? CS handled easily.

Then tonight I was setting up my Creative Director’s new 17″ MacBook Pro (I’m a Linux guy and all, but this is still sweet) and discovered that these apps performed much better on the new MacIntel. So maybe it’s more about being on an old Dual Proc 2GHz PowerPC with 2GB of RAM DINOSAUR that’s causing most of my disgust.