Download Latest Version (131.5 kB) Get Updates
Home / nut / 18.10
Name Modified Size InfoDownloads / Week
Parent folder 2013-08-09 1.4 MB
nut-18.10.tar.gz 2013-07-29 1.3 MB
Totals: 2 Items   2.7 MB 0
NUT nutrition software Copyright (C) 1996-2017 by Jim Jozwiak. NUT is nutrition software to record what you eat and analyze your meals for nutrient composition. Besides the usual features of nutrition software, NUT includes a novel automatic portion control feature that allows you to plan nutritious meals when experimenting with different calorie levels, different levels of protein, carbohydate, and fat, and different food exclusions. NUT also offers a well-organized presentation of the nutrients that can help you learn human nutrition by simply playing with the software. The advantage of using NUTsqlite is that the database is portable across disparate operating systems and can be queried independently of the NUTsqlite application by using common SQLite tools. The exact code that runs the application is in the database itself, so there is no version incompatibility if you move the database to a different system or decide to update the USDA tables. And unlike the legacy implementation of NUT, NUTsqlite preserves enough of the previous USDA databases to always retain referential integrity among the relational tables such as in the case where the USDA deletes a food that you ate in some earlier meal. INSTALLATION of NUTsqlite 1) Determine if you have Tcl available. If not, check for free (community) versions of Tcl available for desktop operating systems. 2) Download and unzip the full ascii version of the USDA Nutrient Database in the same directory where you unzipped the NUTsqlite files "nut.tcl" and "updateNUT.tcl". The NUT homepage at will have the USDA zipfile you need or you can get it from the USDA. The procedure will be the same when the USDA releases a new database and you want to upgrade your NUTsqlite database while preserving your personal data. On the Mac, unzipping a zip file with multiple files in it results in a separate directory, so you need to move all these files to the single directory you are going to use. 3) Run "updateNUT.tcl" to create or upgrade the NUT code in the SQLite database that runs the application. If upgrading, you have to be in the same directory as the "nut.sqlite" file, or else you have to modify "updateNUT.tcl" on line 24 to provide the full path to the "nut.sqlite" file. After this step, "updateNUT.tcl" is not required for anything and can be deleted. Unlike the legacy implementation of NUT, updating the NUT code is independent of updating the USDA database, although it is certainly possible that the USDA could change the format of their tables so that a later version of "updateNUT.tcl" would be required in order to read their tables or display new nutrients. The main idea is that your personal data is permanent even though the application code and USDA tables can change as necessary. 4) Run "nut.tcl" to run NUT. If you are using a launcher and cannot specify the working directory, you will have to modify "nut.tcl" on line 27 to specify the full path to "nut.sqlite". When "nut.tcl" runs initially, it will load the USDA files and any legacy files that exist in your .nutdb directory, including all your meals if you have just run the legacy NUT console program which dumps meals in a manner that can be read from Tcl. After NUT performs the initial database load, the USDA files can be deleted and NUT will not load any more files until it detects a new USDA database in the directory from which NUT is running. All "nut.tcl" really does is to start Tcl and cause Tcl to run the code in the SQLite database. Because the code in the database does not have to be interpreted until required, there may also be better performance from the application. 5) If you prefer NUTsqlite to the legacy implementation, the directory ".nutdb" can be deleted so it will not be loaded again when you next wish to update the USDA database. Alternately, you can simply modify line 26 of "nut.tcl" to look for some non-existent directory as the legacy directory. Another easy change to "nut.tcl" is the location of the SQLite database file. There is also a variable "appSize" that can control the size of the window and fonts when set between approximately 0.7 to 1.3. Jim Jozwiak
Source: README, updated 2017-05-13