Smultron Code Editor

In developing software, the choice of tools used can affect the ease of the job significantly. While the choice of a language may dictate the compiler to be used, there are generally a number of options for the code editor. For most C, Objective-C, and Java applications, I use Apple’s XCode IDE for the simplicity of having the editor, compiler, and executable all in one interface. For projects in which I won’t be using XCode, however, I now generally use Smultron as the code editor.
Continue reading

Desktop Screensaver Background

The screensaver module in OS X has a command-line option that allows it to be run in the
background of your screen, as a replacement for the desktop picture. I found this in the
application bgscreensaver, which
contains an AppleScript to launch the screensaver module in the background, using a shell
command found by Michael Coyle at ResExcellence.

While this is pretty cool in and of itself, I wanted something that would let me run one
screensaver as the background, and have another one for my actual screensaver.
Continue reading

Compiling with gfortran

I compiled XFoil earlier today for my Mac. XFoil is an open-source airfoil analysis tool. There are various compiled binaries available for Windows systems, but for Unix computers, including Mac OS X, it must be built from the source code. This requires the use of a Fortran compiler. To build it on my Intel-based Mac (10.4.8), I made use of the GCC’s gfortran compiler, available here along with several other Mac Fortran compilers and other interesting stuff. Continue reading

Guitar Chords to MIDI in Objective-C

This tutorial will show you how to write a program that creates MIDI files of guitar chords by processing text files. Although I wrote this in Objective-C and the GUI is built using Cocoa, the MIDI algorithms could easily be applied to another language or platform. Essentially, this program scans a text file to look for a chord or some other symbol that it recognizes. Then it translates that into MIDI format code, and continues parsing until it reaches the end of the file. Continue reading