Tutorials
Links to Tutorial Series
Here is a list of past and present tutorial series featured on MacResearch:
Mac Productivity: Saving Keystrokes
![]()
Last fall, I began my new lab at the University of Pittsburgh. I've been using Macs almost exclusively since arriving.
I will share some shortcuts and productivity tips over the next few weeks that I picked up during my first year as a faculty member. The first is on saving keystrokes. The Mac has several extremely good programs which can expand text shortcuts and fix typos on-the-fly, including Typinator, TypeIt4Me, TextExpander, and SpellCatcherX.
Cocoa for Scientists (Part XXV): Core Animation Layer Trees
Author: Drew McCormack
Web Site: www.maccoremac.com
In the first part of this foray into Core Animation, we saw how you can animate the properties of a plain square layer, translating, scaling, and rotating in time. In this part, you’ll learn how to build up hierarchies of layers — the proverbial fleas on the fleas. To do this, we’ll finish off the Flea on Flea application, adding sublayers that creep and crawl on the backs of their superlayers, which in turn creep and crawl on the backs of theirs.
Cocoa for Scientists (XXIV): Core Animation First Steps
Author: Drew McCormack
Web Site: www.maccoremac.com
Arguably the most important change in Leopard was not a user feature, but a developer one: Core Animation. Over the coming years, the way applications look and react to user interaction will change dramatically, and that will be largely due to the ease with which interfaces can be animated with Core Animation. Sure, there will also be overt eye candy, but there will also be lots of more subtle changes to application interfaces that truly benefit the user, giving useful feedback.
Core Animation is obviously an enormous boon for user interface developers, but it has other uses too, such as visualization. There are many scientific applications for which Core Animation could be very useful. In the next few tutorials, I want to introduce Core Animation, and show its potential for scientific visualization. I won’t be showing you how to create the CoverFlow effect, or reprogram the Front Row application, but will hopefully introduce you to a whole new way of looking at Core Animation.
Using Vvidget for Quick Looking Line Graphs
Author: Lance
Web Site: www.vvi.com
Quick Look technology in Mac OS X 10.5 is used to change file content into a picture for the Finder. What would be more natural than turning files containing data into graphs? This tutorial shows how to do that for the staple of engineering, the line graph.
Lab Journal: Shared Virtual Machines

Author: Geoff Hutchison
Web Site: hutchison.chem.pitt.edu
In my group, we have some equipment that only has Windows software interfaces. So all of our Macs here have virtual machines via VMware Fusion. (Parallels Desktop would also have worked.)
One problem is that we want to share the virtual machine. Otherwise we would need to install 13GB VM images for each user in the group.
Structured Programming in Fortran
Author: Drew McCormack
Web Site: www.maccoremac.com
There are many books on Fortran programming available, and they all do a very good job of describing the syntax and constructions of the language. But there are very few books on Fortran that explain how to write robust software. These books exist in abundance for languages like C++ and Java, but Fortran programmers are usually left to fend for themselves, and the results are not always pretty.
Cocoa Tutorial: Image Kit, Cover Flow and Quicklook... doing things we shouldn't but that are too fun to resist
Author: David Gohara
Web Site: http://gohara.wustl.edu
Continuing from Part I of the IKImageBrowserView tutorial, I'm going to show you how to extend the project to do things that we shouldn't really do, but are so much fun it's impossible to resist. And really, when has anyone ever gotten in trouble for throwing caution to the wind?
In this part of the tutorial we'll take the previous project and modify it so that you can turn your IKImageBrowserView into a Cover Flow view AND we'll add Quicklook functionality to the view. I caution you that we'll be using private API's so do not use this in a shipping application and do not hold me responsible for any problems on future releases of the OS (this has been tested on 10.5.2). This tutorial is for education purposes only... blah, blah, blah.
Cocoa Tutorial: Image Kit and Image Browser Views (Part I)
Author: David Gohara
Web Site: http://gohara.wustl.edu
In this tutorial I'm going to cover the basics of setting up an Image Browser view in a Cocoa application. Image browser views are used in a number of Apple applications including Preview and iPhoto, and provide a nice way to quickly look at a set of images in an ordered way. Image Kit, is the framework that drives the IKImageBrowserView class, and is part of the Quartz umbrella framework. This tutorial requires Leopard, Xcode 3.0 and IB 3.0.
Setting up and configuring an Image Browser view is actually quite simple, so rather than do a step by step, I'll provide the completed project and just highlight the relevant code sections for each type of functionality. We'll provide data to the view via Drag and Drop (but as you'll see from the code, the DnD can easily be replaced by any number of mechanisms).
TCBuild: A New Build Tool for Fortran
Author: Drew McCormack
Web Sites: www.maccoremac.com, www.macanics.net
Fortran 90 can include reasonably complex dependencies, which must be taken into account when building a multiple-file program. Unfortunately, most build tools either don’t support Fortran, or don’t help the developer much. A standard make file, for example, requires you to enter dependencies manually, or develop a script to do it for you.
About a year ago, I was fed up with this situation, and decided to take matters into my own hands. I was sitting at SFO after the WWDC conference, and had a few hours to kill. I started writing a Python script to determine the dependencies in a multi-file, multi-directory Fortran program. Over time, this has developed into a reasonably complete build system that I now use for my daily Fortran development, from small utility programs with tens of files, to a million line monster.
This short tutorial will introduce the tool that I created — TCBuild — and give instructions for downloading and using it (at your own risk).


