Free software
The following is a partial list of free software, mainly for Mac OS X, which I find useful, interesting, appealing and good quality. This list does not include software that come with the OS, or common software such as browsers.
Audio/Music
Do you know that, starting with Mac OS X 10.4, the Developer Tools contain a nice mixer and Audio Unit host called AU Lab?
Audacity is a free audio editor/recording app with effects, mixing capabilities, etc... Among its features, it can change the tempo of a track (i.e., changing the speed without affecting the pitch).
AudioXplorer is a sound analyzer. SoundHack is a powerful, yet not too friendly, sound processing utility.
LineIn is a simple application to enable the soft playthru of audio from input devices. In simpler terms, you can use LineIn to play sound coming in through a microphone or any other device plugged in to your Sound In port.
SoundFlower is system extension that allows applications to pass audio to other applications.
I use Audio Recorder or Audio In to record sound.
Max is an application for creating high-quality audio files in various formats, from compact discs or files.
eTktab is a nice text editor for guitar tablature.
SkalMac Tuner is a simple and effective guitar tuner.
Do you want to typeset music in a professional way? Take a look at Lilypond!
Database applications
PostgreSQL is a powerful database server. The packages for Mac OS X are available here, or you can use PostgreSQL with Management Tools. Other useful information can be found here.
MySQL is a multi-user multi-threaded SQL database server. Useful information is collected here.
CocoaMySQL is an application to manage MySQL databases (locally or over internet).
YourSQL is a simple but powerful program to create and manipulate MySQL databases.
Postgredit is an application designed to make the management of small PostgreSQL databases as easy as using a spreadsheet.
PostMan Query is a native (Objective-C and C) PostgreSQL query tool. It allows SQL query results to be viewed in table and tab-delimited formats. PostMan Query allows both local and remote connections across the internet.
phpMyAdmin is a web-based administration tool for MySQL. phpPgAdmin is the same for PostgreSQL (to use it in Mac OS X you need to recompile PHP with support for it, or download this precompiled package).
Yum! is a very nice recipe collection manager.
Books is a library management application, aimed at assisting book collectors with managing personal collections. Among its features, various import/export facilities and an autofill feature completing the fields based on the ISBN.
Developer Tools
The XCode CD is all you need to start developing on Mac OS X. It includes XCode, Interface Builder, Apple Script Studio and all the documentation, to start programming in C, C++, Objective C/C++ (Cocoa) and Java. Free registration at Apple Developer Connection gives access to updates and other nifty things.
Eclipse is a Java IDE.
For small Java projects and for teaching OO programming, Bluej is wonderful.
XGP is an integrated development environment for Prolog. It extends gprolog (a free Prolog compiler adhering to the ISO standard and including an efficient constraint solver over Finite Domains) to work with Cocoa under Mac OS X.
Logtalk is an open source object-oriented extension to Prolog.
ACSLogo is a very nice, award winning, Logo interpreter. XLogo is another nice interpreter.
Doxygen is my favourite code documentation tool. I am still wondering if it is worth changing standard coding practices and adopting some literate programming tool. Leo's philosophy sounds interesting...
Subversion is my favourite version control system: it can be easily installed with MacPorts. SvnX is a graphical frontend for most features of the subversion client. I like to browse logs as RSS news with WebSVN.
Boost provides free peer-reviewed portable C++ source libraries. Some of them are candidates for a future C++ Standard.
Coin 3D is a high level 3D graphics library with a C++ Application Programming Interface.
GTK+OSX is a port of the popular API for developing graphical applications for Linux.
Computation Tools is a collection of tools for Numerical Scientific Computation. For example: GCC, Fortran g77, Adaptor High Performance Fortran HPF, Message Passing Interface MPI, Shared Memory Multiprocessing OpenMP, Octave (with MPI, AltiVec), Cactus (Scientific Computing Toolkit), Globus (Grid Computing), RNPL (Rapid Numerical Prototyping Language), GIMPS (Great Internet Mersenne Prime Search), Computation Libraries (BLAS, LAPACK and ODEPACK), Pascal, LISP, GRAVSIM, Tinker (Molecular Modeling Tools), FEYNMAN, etc.
DrScheme is an interactive, integrated, graphical programming environment for the Scheme, MzScheme, and MrEd programming languages.
Squeak is an open, highly-portable Smalltalk-80 implementation. CocoaSqueak is a virtual machine for running Squeak images, written in Cocoa.
Tcl/Tk Aqua is a famous portable programming environment.
PHP is a scripting language well suited for web applications. Although it is installed by default on Mac OS X, this package adds support for PostgreSQL and many other features.
HexEdit is a hexadecimal file editor that handles both data and resource forks.
Bwana is a manual page viewer for your browser. See also Sogudi.
Desktop publishing
TeX is by far the best typesetting system, especially for scientific purposes. Take a look at what you can do with TeX, its macro packages and related programs! TeX was written by prof. Donald Knuth, and it is available on most operating systems.
To start working with TeX (and its derived sets of macros LaTeX and Pragma Ade's ConTeXt) on Mac OS X, you need basically three things:
- A distribution of TeX. For Mac OS X, see MacTeX (see also the TeX Live page). MacTeX is regularly updated.
- A text editor. My favorite is TeXShop. A good alternative is iTeXMac.
- Some programming skill in TeX. Here you can find some good tutorial (mostly in Italian) to get you started.
- Take a look at GuIT (Italian LaTeX user group)!
metapost.engine (using mpost) and metafun.engine (using mptopdf): my own MetaPost engines for TeXShop (installation instructions in the files themselves)Please check here. Since I had a lot of trouble with the TeXShop built-in engine, I have written these. They add to the output a pdf document contaning one figure per page for easy preview of the results. Smultron is a text editor with syntax colouring for MetaPost (and TeX, of course).- BibDesk: a tool for managing bibliographies.
- JabRef: a GUI for managing BibTeX databases, written in Java.
- CocoAspell: a TeX-aware spelling checker.
- Excalibur: another spelling checker.
- LaTeXiT provides a simple way to typeset LaTeX text or math and paste the resulting PDF into other documents.
- LaTeX Equation Editor has similar functionality as LaTeXiT.
- PDF Nup Maker turns a PDF multi-page document into a document with a specified number of pages per sheet. Combine PDF reoders, removes and joins the pages of several pdf files to produce a single document.
- CocoaBooklet lets you create a booklet out of a PDF file.
- TeXShell provides a graphical user interface to teTeX.
- TeX FoG is a graphical frontend for beginners to type LaTeX formulas.
- Lyx/Mac is a fully-featured implementation of LyX on the Mac OS X native graphics display. No knowledge of LaTeX is necessary to use LyX.
- The XeTeX typesetting system is based on a merger of the TeX system with Unicode and Mac OS X font technologies. It works with TeXLive and TeXShop/iTeXMac.
- Some good free fonts: Charis SIL (the only free font I know with full OpenType tables), Doulos SIL, Gentium, Cardo, DejaVu, Junicode (this one needs to be converted with FontForge). For more fonts, check The LaTeX Font Catalogue.
- ttf2tex (included in the teTeX distribution) generates all files required to use Truetype fonts with Tetex from a set of .ttf files. In addition to that, it creates map files and installs all files according to the Tex Directory Structure. Note that Truetype fonts are supported natively by pdftex, so there is no need for conversion into Type1 fonts.
- FontForge (previously known as PfaEdit) is a great font editor for X11, managing practically all kinds of formats. Installing Fonts for LaTeX in OS X is a tutorial about converting and installing fonts.
- TCOBrowser provides an easy way to access documentation and information about TeX and TeX-related packages available through CTAN, as well as some of the documentation on the local system.
Lilypond is a very good music notation software, which can also be used with LaTeX. I have written three very simple engines for using Lilypond with TeXShop: Lilypond.engine, Lilypond-LaTeX.engine and convert-ly.engine (instructions are in the files themselves). Unfortunately, pointing-and-clicking on a note will open your source file in the Lilypond application (point-and-click is not compatible with TeXShop).
GNU TeXmacs is a wysiwyg (what-you-see-is-what-you-get) scientific text editor which was both inspired by TeX and GNU Emacs. It runs in the X Window environment (it can be obtained by Fink). The editor allows you to write structured documents via a user friendly interface. The program implements high-quality typesetting algorithms and TeX fonts (although it is not based on TeX), which help you to produce professionally looking documents. It can be used as a frontend for Octave and Maxima (see Science/Math section).
Emulators
OSXII is an Apple //e emulator for Mac OS X.
KEGS-OSX is an Apple IIGS emulator.
MacMAME is a classical arcade videogame emulator.
ZXSP is a ZX Spectrum simulator.
Finance
The best program to keep track of your income and expenses is, of course, Conto! :)
Games
Racer is a car race simulator, using professional car physics papers to achieve a realistic feeling. Lots of cars and tracks can be downloaded.
FlightGear is a well done flight simulator, with scenery for almost any portion of the world! Pre-built binaries for Mac OS X are here.
glTron X is a game inspired by all the games that were inspired by the film TRON. It uses the OpenGL 3D libraries and it is addictive!
I like the classical puzzle game Sokoban (maybe because it is PSPACE-complete)! Sokoban clones are MySokoban and SloppySokoban.
As for chess programs, I like Sigma Chess Lite. Using MacPorts or Fink (see the Utilities section), you can download XBoard, an X11 graphical front end that can be used with many chess engines, GNU Chess and the very strong chess engine Crafty. Scid is a chess database application, with support for PGN, HTML and LaTeX formats, downloadable with Fink. Another chess database (running natively) is ExaChess Lite.
Glider Pro allows you to fly in a labyrinth of rooms with a paper airplane. An old glory of Mac games now available for free.
Pac the Man X is a clone of Pac-Man, with awesome graphics and music.
Head over Heels is a remake of a classic Spectrum graphic adventure.
FarmersMahJonng is nice implementation of the old Chinese MahJongg game. It may be interesting for a programmer because it is written in Objective-C++ (i.e., it mixes legacy code written in C++ with a Cocoa interface). Source code is available for download.
Chex Quest is a first person shooter game bringing back the time of Doom.
Vega Strike is "3D space simulator that allows you to trade and bounty hunt in a vast universe". I haven't played this too much, but it looks good.
Quinn is a Cocoa implementation of the classic Tetris game.
Gridlock is a collection of grid-based board games, including Ataxx, Reversi, Checkers, Gomoku, Connect Four, Breakthrough, Glass Bead, and Life. You can play against the computer or over the network.
Graphics
Graphviz is an open source graph visualization software. It can export in many formats, notably MetaPost. The Mac OS X version has won two Apple Design Awards.
Cenon is a vector drawing program.
Inkscape is a vector graphics editor using the W3C standard Scalable Vector Graphics (SVG) file format.
Sweet Home 3D is a free interior design application that helps you placing your furniture on a house 2D plan, with a 3D preview.
Xfig is a 2D graphics editor for the X Window system, especially suited for technical diagrams and drawings. You can get via Fink (see the Utilities section). jfig is a Java port of xfig.
The GIMP (GNU Image Manipulator Program) is a nice application suitable for photo retouching, image composition and image authoring. The easiest way to get it is by using Fink and an X Window manager (see Utilities section).
Seashore is an open source image editor for Cocoa.
ViewIt Lite and VitaminSEE are image viewers/browsers.
MorphX creates morphing transitions between images.
ImageJ is a sophisticated Java application for image processing and analysis.
Art of Illusion is an open-source 3D modelling and rendering studio written in Java.
Wings 3D is a powerful, easy to use, polygon mesh modeller.
Stellarium renders 3D photo-realistic skies in real time.
Internet Utilities
WebGrabber is a utility to download, mirror, copy and synchronize a web site.
PDF Browser Plugin allows you to view PDF files within your browser. Free for personal and educational use.
Sogudi adds shortdraw cuts, and a man page viewer (see also Bwana), to Safari.
Fugu is a graphical frontend to the command line sftp tool. Cyberduck is a nice SFTP and FTP browser. RBrowser is a good FTP client.
MT-NewsWatcher is a nice online newsreader. Halime an online and offine newsreader.
XFactor, XNap and Poisoned are file sharing programs.
Skype is a p2p client for telephony.
Nvu is a complete WYSIWYG web authoring system with support for HTML 4.01 and XHTML 1.0.
Taco HTML Edit is an HTML editor with embedded preview.
SimpleCSS and JustStyle are CSS editors.
TidyService is a nice service to clean up HTML using the powerful HTML Tidy library. Balthisar Tidy is a graphical implementation of such tool.
Productivity
ThinkingRock is a cross-platform application for collecting and processing your thoughts following the GTD methodology.
Quicksilver is (much more than) a launcher, allowing you to act on apps, folders, documents and so on in different ways with a few keystrokes. One of the best programs for Mac.
Growl is a system wide notification framework.
Sidenote is a small note taking app disappearing through the edge of your screen.
Check Off is a to-do list that sits in your menu bar.
Science/Math
Combinatorial Game Suite (cgsuite) is a Java program to aid research in combinatorial game theory. It features a graphical user interface, similar to those found in Mathematica and Maple, support for all standard operations on canonical forms of games, a flexible plug-in architecture, a graphical game position editor and game tree browser, and a scripting language.
I love Octave, a Matlab-like high-level language, primarily intended for numerical computations. It does not have any graphical interface, but it can do a lot of nice things (for instance, I once used it to successfully solve a system of partial differential equations) that would otherwise need expensive programs. In combination with gnuplot it can do amazing plots and graphs!
gnuplot is a command-driven interactive function plotting program. It can be used to plot functions and data points in both two- and three-dimensional plots in many different formats, and will accommodate many of the needs of today's scientists for graphic data representation. There a version of gnuplot for the Macintosh.
Plot is an easy to use scientific 2D plotting program.
Scilab is a scientific software package for numerical computations running under the X Window system.
Maxima is a Computer Algebra System, with abilities such as symbolic integration, 3D plotting, and an ODE solver. It can be downloaded with Fink (note: you may get compile errors if you use FinkCommander; to avoid this, install from the Terminal by typing "fink install maxima").
3D-XplorMath is an interesting mathematical visualization program, with a gallery of mathematical objects, ranging from planar and space curves to polyhedra and surfaces to ordinary and partial differential equations, and fractals.
x48 and Emu48 are emulators of HP calculators.
MathPad is a general purpose graphing scientific calculator.
Golly and Nifty Life are nice implementations of J. H. Conway's Game of Life.
RAqua is a Mac version of R, a language and environment for statistical computing and graphics.
iMol is a molecular visualization application using various file formats: PDB, XYZ, MOL2, HIN, CAR, ALC, BI. PyMol is a molecular modeling system. VMD is another powerful molecular visualization program. Another program of this kind is Rasmol, which you can get by Fink.
4Peaks is a program that helps molecular biologists to visualize and edit their DNA sequence files.
FinchTV is DNA sequence chromatogram trace viewer.
For useful information and more programs for biologists, see the page about Cristallography on OS X and DonaldsonLab.
MI-SUGAR is a lightweight electrical circuit analysis environment which uses the free simulators SPICE and Gnucap. MacSpice is an implementation of the Berkeley Spice electronic circuit simulator.
Screen savers
Nice screensavers using little cpu are Solarwinds, AbstractMotion, StonerView, ElectroPaintOSX.
Security
Take a look at Corsaire's Securing Mac OS X Tiger.
SSHKeychain is a very nice ssh key management tool with tunnel support.
HenWen is a GUI for the Snort intrusion detection system.
GnuPG is a tool for secure communication and data storage. It can be used to encrypt data and to create digital signatures. There are a lot Graphical User Interfaces (GUIs) to work with gpg in Mac OS X, notably:
- GPGMail extends Apple's Mail application and allows you to read and send authenticated and/or encrypted messages.
- GPGPreferences is a preference pane to edit gpg options file.
- GPGKeys is a GUI keyrings management tool.
- GPGFileTool lets you encrypt/sign/decrypt/verify without going to the Terminal.
- GPGDropThing allows you to easy encrypt, sign, decrypt, and verify text pasted into its window.
SilverKeeper is a simple and effective backup solution. It supports incremental backups and scheduling, and it can create a bootable volume.
psync is Perl script for incremental backups. PsyncX is a graphical frontend to psync.
Take a look at Command-line Backup Solutions on Mac OS X.
Text/Words
Skim is a nice PDF Reader and note-taker. It is especially useful to read and annotate scientific papers!
ProVoc is a very good vocabulary training software.
Smultron, TextWrangler and TextForge are nice text editors.
NeoOfficeJ is an office suite including word processing, spreadsheet, presentation, and drawing programs.
OmniDictionary is a client for network dictionary services.
Utilities
Lingon is a very well done utility to manage daemons, periodic tasks and so on. It is a graphical interface to launchctl.
CleanArchiver is a utility for archiving with gzip, bzip2, zip, Disk Image (dmg), StuffIt, or StuffIt X by dragging and dropping; it can exclude the files peculiar to Mac OS X such as .DS_Store.
i-Installer i-Installer is a network-aware installer application.
XBench is a precise benchmarking utility.
I quote: "the Fink project wants to bring the full world of Unix Open Source software to Darwin and Mac OS X". And it does it very well! FinkCommander is a graphical user interface for Fink, which allows one to install a lot of Unix programs with a touch and no trouble.
MacPorts (previously known as DarwinPorts) is a project similar to Fink. Invaluable if you need up to date Boost C++ libraries!
TinkerTool allows users to access more operating system settings than are usually visible in the standard panels.
Cache Out X clears out the System cache entries on your machine and bloated swapfiles, helping you recover valuable disk space on your machine and making it more stable.
MacJanitor runs periodic system maintenance tasks. It is designed to be used on a periodic basis by Mac OS X users who don't leave their computer on (and awake) 24 hours a day.
Monolingual is a program for removing unnecessary language resources in order to save disk space.
PTHCPUMonitor displays system load on the menu bar. iStat and MenuMeters are two resource monitoring tools for MacOS X. X Resource Graph is a system resource monitoring utility.
Process Wizard allows you to access to all the processes of your system (applications, background applications, user processes, non user processes) and to change their priority (Unix nice value).
Unicode Checker is an application that displays information for every code point from the Unicode Standard.
MacTracker provides detailed information on every Apple, Motorola, PowerComputing, and UMAX Mac OS computer ever made.
Video/Movies
Burn is a general purpose open source burning application.
VLC media player plays VCDs and DVDs and a lot of other formats. Another very good movie player is MPlayer.
D-Vision encodes DVDs into Divx 3, Divx 4, Xvid or H.264 formats, and it offers several tools to manipulate the encoded files. Another DVD encoder is HandBrake. D-Volution encodes DV and QuickTime (MOV) files. D-Subtitler extracts subtitle tracks from DVDs, Sub2Srt is a handy utility to convert subtitle formats, and TitleLab can be used to edit subtitle files.
MacTheRipper is a DVD extractor program.