"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 © 2024 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, 2024-06-22)

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

Infodoc HTML Post-Processor Updated!
(updated, 2024-05-26)

The Infodocidpp” HTML post-processor has been updated to support ‘makeinfo’ (texi2any) version 7.0.3 and above. The makeinfo developers have made significant changes to the syntax of the HTML code generated from the Texinfo source. These changes bring the generated HTML document much closer to the HTML5/CSS3 standard.

Well Done All!

The current Infodoc release is v:0.0.15, and is designed for use with makeinfo v:6.8 or greater.
If your HTML documentation is generated using makeinfo v:6.7 or earlier, download the Infodoc v:0.0.13 package instead; however, an update to the current makeinfo package is strongly recommended to take advantage of the cool new features.
Happy Documenting!      

WaylandCB Updated!
(updated, 2024-06-13)

The Wayland Clipboard class has been updated in response to recent updates and improvements to the “wl-clipboard” utilities written by Sergey Bugaev ( WL-Clipboard on Github ).
Well Done Sergey !
The wl-clipboard utilities may be installed from your favorite repository:
  sudo dnf install ‘wl-clipboard’  or  sudo apt-get install ‘wl-clipboard’
WaylandCB is a simple C++ class which handles communications between the “wl-clipboard” utilities and your console application. Note that while WaylandCB is fully integrated into the NcDialog API, described above, the WaylandCB stand-alone package is designed for use in console applications which are not built around the NcDialog API.

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 126.0, and Brave(tm) 1.66.113 (Chromium(tm) 125.0.6422.76). 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