"It's not code until it is documented and tested code!
and it's not documented-and-tested code until it is
thoroughly understood by someone else."
--- Software Sam, 2014
Welcome to the home of the
Software Sam presents Linux software tools, API libraries, well-documented source code, copius examples,
online docs, student exercises, bad poetry and fun for geeks of all ages and skill levels.
All code posted on this site is designed for GNU/Linux systems.
GNU/Linux does not just jump out of the box and run; it requires patience, curiosity and
determination. Please help the GNU/Linux community move toward an out-of-the-box solution for
students, grandmas, Liberal Arts majors and the rest of the vast non-technical world who just need
to get useful work done.
If you are developing for that other
operating system, shame on you! Unless you have accidentally
wandered into this site while looking for porn, you are a software designer, and as such you have
super-powers (able to leap tall buildings and so on). Software Sam encourages you to use those
powers for Good rather than Evil.
Taggit (preview, 2017-09-08)
‘Taggit’ is a metadata editor
(tag editor) for MP3 and OGG format audio files. Taggit is a GNU/Linux console (terminal) applicaton
written in C++ and is implemented as a menu-driven dialog. The application is designed to handle an entire
album simultaneously, and supports editing of all text fields defined by the standards as well as
embedded image tags.
The initial public release will be available as soon as our beta-testers finish their recommendations on the
author's translations of the user interface to Chinese, Spanish and Vietnamese. The package should be posted
within one to two weeks. Until then, please explore the Taggit documentation to see what this application is
all about. Questions and comments are always welcome.
Salmon (new, 2017-06-03)
The ‘Salmon’ application is a GNU/Linux console (command-line) utility written in C++ which
demonstrates some common examples of spawing an external process from within an application. The application
demonstrates the use of the ‘execv’, ‘execl’, ‘execlp’, ‘execvp’,
‘fork’, ‘vfork’, ‘waitpid’ and ‘dup2’ functions, among others.
See the Downloads
page for more information.
NcDialog Application Programming Interface
NcDialog is a full-featured application development library for console-based applications.
Go to the Downloads page to download the API source and documentation,
or Click here to take the tour.
Software Sam is happy to correct any factual errors, distortions and omissions on this site; however,
Sam's opinions are based on his massive ego, and are therefore rather difficult to modify.
Technical Note: The static data of this website is constructed using HTML5 and CSS3.
All pages have been tested with Firefox 48.0 and Google Chrome(tm) 52.0. Rendering in Internet
Explorer(tm) 11 is spotty, but no one who cares about security would use IE anyway.