"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 Samurai

Samurai Logo Yellow
Copyright © 2025 The Software Samurai Updated:


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.


NcDialog Application Programming Interface
(updated, 2025-07-29)
 

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.
NcDialog Screen Capture


gString Text Tool Updated
(updated, 2025-07-15)

The gString class is a mature project, and this release is the first major update since 2023. Only one significant change has been made for the current release. The original static storage buffer has been replaced by a dynamically allocated storage capacity which is automatically adjusted to accomodate the text it receives. The default capacity of 4Kb is unchanged; however the maximum storage capacity has been increased to 1Mb. Three methods have been added to support reporting of the current buffer size, and to manually adjust the storage capacity if desired. A utility application was created during this update, designed specifically to perform comprehensive regression testing for all functionality. This was a fun little project in itself, so this utility is now included as part of the distribution package.


FileMangler File Management Utility Updated!
(updated, 2025-07-29)

The FileMangler file-management application has been updated to take advantage of the new functionality in the NcDialog API and gString class described above. FileMangler has been stable and reliable for over five years, (which is an exemplary run for stand-alone software); however, this release includes several minor bug fixes, updates for media file metadata, small previously unreleased enhancements and a rewrite of both Tree-view Mode and the Find Files dialog for speed and stability. Check it out.


BubbleSort - New!    (released, 2025-07-22)

This is a simple demonstration app for students and others who are curious about the uses of the “bubble sort” (“cocktail-shaker sort”) algorithm. Sorting of text records, numeric arrays and complex-object records are demonstrated.








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 140.0.4, and Brave(tm) 1.80.122 (Chromium(tm) 138.0.7204.157). Rendering in MS-Edge(tm) is adequate, but no one who cares about security would use Edge (or IE) anyway.
Note that the selection of the browser's default monospaced font may affect the rendering of screenshots within the documentation. (Sam recommends DejaVu Sans Mono.)


GNU/Linux Logo
Developing software for Linux since 1999.
- All posted software source code, libraries and executables released under GNU General Public License GPL3.
- All posted software documentation released under the GNU Free Documentation License FDL1.3.
- Other site contents, all rights reserved (but if you see something you like, we can negotiate.)
- Art Design by Aliza Arts