Tools/Utilities

If you’ve ever bumped into a Microsoft Compiled HTML help file (the giveway is the .chm extension) and resorted to starting up a virtual machine in order to run an instance of Windows to view the file, there’s a better way…a chm viewer for Mac OS X.

Chmox is an open source application that displays chm files on Mac OS X. Viewing a file using chmox is as simple as downloading and extracting a dmg, pointing at a chm file and you are good to go.

Chmox is written in Cocoa (Objective-C) and uses both WebKit, and chmlib. If you are looking to dig a little deeper into how to work with chm files, Matthew Russotto’s site is also worth a visit. Matthew has included information on the chm file format, which you can find here.

A good way to learn more about how chmox works is to spend some time viewing the source files, which you can peruse on the chmox project at sourceforge.

I recently bumped into a clever tool for soliciting debugging help. Pastebin is a web-app where you upload a snippet of code for others to review. Viewers can makes changes and suggestions to the code in a separate window. There are some handy features including syntax highlighting and the option to callout specific lines of code.

Here’s how it works. First, you paste a block of code into a textbox, and choose the language for syntax highlighting. Enter a name and click Send.

\

Here is what the code looks like once uploaded to Pastebin.

Pastebin generates a URL that you can use to point others at your code block. People can make suggestions on your code, including calling out a specific line using @@. See the example below where I entered a comment and made a minor code change.

Once the change is saved, Pastebin updates the code block to look as follows:

One additional trick you can do with Pastebin is create a sub-domain for your own specific debugging needs. For example, if I type in http://macdevtips.pastebin.com, I get a private area for working with code snippets. This area is still viewable by anyone (who knows or guesses the sub-domain), however, posts are not shown in the “Recent Posts” section at the homepage of Pastebin (it’s easiest to understand by simply giving it a try).

Pastebin is a nice tool when you need another set of eyes to look at your code.

I continue to find the Preview application to be a handy little tool. It’s not that Preview supports an enormous feature set for working with images, as much as each time over the last few months that I’ve look to the Previewer to help me out, it did.

The first time this came about I simply needed to resize an image to post on this blog – from the Tools menu, click Adjust Size and save the file, that’s it, done (and of course it can preserve the aspect ratio). My most recent encounter was when I needed to convert a file type from JPG to GIF. Again, a few clicks and it’s done – open an image, from the file menu choose the Save As option and from the dialog box select the image type. The figure below shows the supported file types; notice you can even save an image as a PDF.

By no means a full-fledged image editing program, and never intended to be, Previewer is still much more than its name suggests.

I” onclick=”return TrackClick(” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”,” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”javascript%3AlynkVideoPop%28719%2C” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”)” onclick=” onclick=”return TrackClick(” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”,” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”javascript%3AlynkVideoPop%28719%2C” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”)”return TrackClick(” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”,” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”javascript%3AlynkVideoPop%28719%2C” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”)” onclick=”return TrackClick(” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”,” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”javascript%3AlynkVideoPop%28719%2C” onclick=”return TrackClick(”,’javascript%3AlynkVideoPop%28719%2C’)”)”ve covered some of the basics for working with ScreenFlow in the two previous posts. At this point I want to show you a non-conventional way that I use screencasts on a regular basis. What I am referring to is creating videos that are not meant to live on YouTube or another publicly accessible server, rather, videos that have a very limited lifespan, as in hours.

I often find that a quick screencast is the most efficient means to explain something, from how to install/configuration an application to pointing out a problem spot in a block of code.

For example, in the video that follows I talk through the steps I recently explained to another blogger for inserting code into a php file on a WordPress blog to display a Digg icon. The video is short and to the point.

The same idea holds in the next video, no bells or whistles, just a simple description on how to choose a color using the Color Picker application and use the hex value of the selected color to configure style sheet information in an application.

If you are already familiar with creating screencasts, or would like to give it a go, you owe it to yourself to download a free trial of ScreenFlow.

I apologize this video is no longer available. I had a system crash on my web host and was unable to recover the video. To make matters more frustrating I no longer have a copy of ScreenFlow to recreate the video.

Apologies for any inconvenience.

John

In a previous post on using ScreenFlow, I demonstrated some of the basics of this unique application for creating screencasts. What follows is another video demonstrating how to record video separately from audio. Unless you’ve spent time creating a screencast, and have experienced the challenges that come with the same, you might not fully appreciate the value of this feature.

Let me put it this way, I often find it challenging to synchronize all the moving parts, from typing code, clicking the mouse to verbally describing what I’m trying to demonstrate, and if there’s a means to simplify the process, I’m there.

There are tools available for recording video and audio separately, and mixing the two into a final product. However, ScreenFlow offers these capabilities in one tool.

Have a look at the video below to see how I create an audio recording inside of ScreenFlow and merge this with a video recording:

In my short time in working with ScreenFlow, I’ve been impressed with both its ease of use (read, short learning curve) and the powerful and well thought out (and implemented) features to take away some of the pain of creating screencasts.

This post is one in a series demonstrating a very intriguing application for creating screencasts,