Part of eating right is making sure you get the right nutrients in the right amounts. A little program called NUT, written by Jim Jozwiak, analyzes the nutrient levels of your food choices to help you maintain a healthful diet. NUT uses the official USDA database of foods to recommend foods based on your dietary choices, and creates graphs displaying historical eating trends. NUT is free software, which means you can download, modify, and redistribute the source code. Binaries are not available, but the program is simple to compile and the author includes detailed instructions.
Diet Monger Ass Kicker (DMAK) is another free nutrition analysis program that runs on Linux. Written by Jerry Story in the Euphoria programming language, DMAK's functionality is similar to that of NUT in that it uses the USDA food database to provide copious data on essential and non-essential nutrients, daily recommendations, and food groups or food preferences. The difference is that DMAK has a GUI, making it a bit more intuitive than NUT.
DMAK installation requires downloading a binary archive from Story's site, a .so file for Euphoria, and the current USDA food database from usda.gov. The pre-compiled program worked flawlessly on Ubuntu.
Shrinking Man is a free food journal that lets you record your food choices and track your weight on a daily basis. This program runs with a GTK GUI, and its calendar feature is nice for referencing historical meal plans and for planning ahead. I didn't see a food database in this one, though, and found it tedious to manually enter each food and its caloric value.
Shrinking Man was written in Python by Samuel Abels. To start using it, download the .tar.gz file, extract it, and run the install script. Be sure to pick up the 0.2 version at debain.org instead of the broken 0.1 version available through freshmeat.net.
The Java-based Open Fitness program from WorkoutWare.com -- the only commercial application I looked at -- is a combination package with a lot of features that enable users to track diet, weight, measurements, workouts, and overall progress. Fitness trainers can use Open Fitness with multiple users, including a feature that allows users to log in to the Open Fitness network and access eating and workout programs specially created for them by the trainer.
WorkoutWare provides a free 30-day trial of the software that runs on Linux or Windows. Installation was simple on my Ubuntu desktop. I downloaded the Linux installer, changed the permissions, and ran it. The only speed bump was figuring out the command to run the application, which just required a visit to the installation directory. Open Fitness retails at $40 for the download version or $50 for the CD. A pro version that lets you manage an unlimited number of users sells for $90 or $100.
Finally, if you don't feel like installing a program or you'd just like an application that you can access from any Internet connection, I recommend Fitday.com. This site has a large food database, including prepared foods, but also allows users to enter custom foods and nutritional information.
Fitday calculates your basic caloric needs from your weight and activity levels, and displays graphs to show your progress (or lack of progress). There's also a database of fitness activities from which to choose; enter your activity and the length of time you performed it, and Fitday calculates the calories burned.
Now if I could only find a Linux program that cooks the food....