Hits since 2023-09-15 14:33:06:
Hello, and greetings!
First I want to say to all of you who have downloaded and tried
SAM, "Thank you!"
Next, I want to extend a tentative apology. It seems that
SAM-1.3 contains a typo in $lib/tool/pdb.sam on line 58.
Please see the bug report.
(230118) I made some changes to webpages about SAM:
I made some edits to pages about SAM in this website.
The "source touched" dates and times at the bottom of each
page give an indication of when changes were made to that
page. These are sometimes trivial, but often reflect
Please review the SAM pages.
(231005) I released SAM-1.2.
It has no code changes. I cleaned up the directories by
moving unneeded files and directories to junk. Also I made
some improvements to the documentation.
(231022) I released SAM-1.3.
I did some more cleaning up. I removed a few stray files
that were not needed and I restructured the directory
$sam/source which contains the C source files
and the compiled binaries. As a result of this rearrangement I
had to make a few inconsequential code changes. Also I made
some improvements to the documentation.
Additionally, I made and implemented a tool that allows me to
insert the copyright statement and the reference to the license
automatically into selected (which means virtually all)
files. You may notice this change to the files of the SAM
(231029)I released SAM.handy-0.  This is a
library which contains a Python script, called dupe, that I have
written about and released before. The code is
unchanged. What is new is the improved integration into this
website and into SAM.
I should add that I tested it, and found that it still
works. I wrote a short text file for the body of the message
and another, very short text file for the subject of the
message. I invoked dupe at the command line, giving arguments
for "To", "Cc", file name for subject, and file name for the body.
It resulted in an email in my inbox.
- I did it. Sort of. I made the lite version of
SAM, but I uploaded it to this website instead of SourceForge.
I will consider the various other places where I may want to upload
it, if any, and keep you informed.
Also, I should explain that although it is a
lite version it is not well served by that
name. It is the real thing with no compromises. I have
simply divided SAM into libraries (no more
modules), and I made the SAM distribution such that
it includes exactly one library, called
Furthermore, there will be no full
version, so let's drop the lite and full right
now. There is SAM, which comes with one
library installed, and there will also be libraries available
separately, although I haven't yet made them available.
Please download SAM. Bear with me, however, as I need to
fine tune the documentation and this website. There will be
for a while some errors and inconsistencies. I'll keep you
- I updated the SAM portion of this website. I added
sections that tell about Version
Names and Libraries, and I
also wrote a section called Get and Run
In Get and Run SAM-1 I gave a
download link and useful information about running SAM, version
1. So far, there is only version 1.0, but I will include also
all of the minor version changes
as they occur. If there is ever a SAM-2, I plan to put it in a
section of its own.
- SAM was triggering a message about cd having too many
arguments. I made a change to
$sam_root/kernel/pop.sam to address this.
- I made some updates to SAM and uploaded SAM-1.1. This took me a few
tries, and I was using an incorrect procedure. As a result you
might have gotten a half-baked archive if you downloaded it before
230920 at 2:00AM PDT. Sorry about that. I need to
automate the upload process so I can do it right consistantly.
Note that I added to this website a list of the dates and times that the
changlog.txt files in the current version were last modified.
That is an easy way for me to let you know where the changes were in
each version. If you need more information, then you can read
the changlog.txt files.
- 230921 7:32PM: I made a correction to the section of this
website that describes how to make a dual directory. The
problem was with my description of how to make the symlinks.
Sorry about that!
- I added a section to this website to help you get started
using SAM. That section is called:
- I've been making some changes to SAM. I hope to tell
you about them soon. And I have made a few changes to my
SourceForge project page for SAM. My goal is to prepare and
upload a archive for a lite version of SAM.
I'll keep you posted.
- I've made some changes to SAM. In fact, work on SAM is
ongoing. I've decided, however, to focus this site on
discussion of and articles about software that has been released for
distribution. You can read about the pre-release work on SAM
at my other site Joe's Life where
I write about current work on SAM and other projects.
I will however also write about this website, Rosevear
Software itself, and where appropriate I will take a chance and
write about my plans. This last one is not an easy thing to
write about, so bear with me. If I can, without wasting your
time and mine going on about things I will never deliver, I want to
share with you a little about what is to come.
- I think I can safely say that SAM is going in a new
direction. I have had over the last couple of years two
opportunities to meaningfully share SAM with other *nix
This was great for me and for SAM, as it gave me some
insight. I saw that SAM has grown into a tangled, but useful,
mess. Therefore I have begun a process of cleaning up.
The SAM distribution has a kernel and an application. It is
mostly the application that needs cleaning up, as it contains a lot
of example code that, for various reasons, is not appropriate for
inclusion in SAM--junk, in a word.
Some of this junk is useful code. Because SAM is a great
framework for writing code to solve problems, I had filled it up
with lots of code that I had written for my own use. I did this
thinking that, as it was useful to me, it might be useful to others
also. And I did it from laziness. It was easier to put the
code in my example menu than it was to find a convenient but
separate place to stage the code.
Now, seeing the error in my ways, I have designed exactly that: a
convenient, but separate place to stage my code. The solution
I found was simple. SAM code lives in menus, and the menus
menus are just directories. Therefore I found that I could
stage my code in directories which are separate from SAM.
Here's an example that shows what I mean:
Before, I did this (at the SAM command line) to run tool
"prep" that mounts my encrypted drive:
Now I do this:
It is admittedly more to type, but it works and allows me to
host prep outside of the SAM distribution.
The above example was about application junk. SAM
also has special files and directories (that serve an executive
role) that live in the root of the installed distribution; I have
found that junk of another kind (executive junk) accumulates
here. This problem is odd. I don't need to edit the
files and directories here, but I do need to make copies of
them, then edit the copies. I do this to tailor SAM for my own
Previously, I put the modified copies of these files and
directories also in the root of the installed distribution, giving
them different names. Then when making the distribution I had
the annoying task of editing code that excluded the stuff that I
didn't want in the distribution. This made releasing SAM slow
Now I do things differently. First here is some
background: Some of the files of the root of the distribution
begin with the letter "b" and are invoked by the user to start
SAM. I call these b-files. More than one b-file
is needed, because they start SAM in different ways. For
example begin starts SAM normally, and
bree re-starts SAM as root, keeping the menu and
current directory the same, a SAM session that is already running as
I have found a way to start SAM by invoking either a
b-file in the root of the installed distribution or,
alternately, invoking a b-file in a custom dir elsewhere that
contains symlinks to some of the stuff in the root of the installed
distribution. In other words, I can have my cake and eat it
The above solution is not hard to implement and it gives me a
simple way to keep the junk out of the root of the SAM
I was inspired to make these changes to reduce the junk in SAM by
the sharing of SAM as I described above. Receiving well
intentioned feedback helped me to see more clearly what I needed to
do. The work is ongoing, but hopefully it will result in a
simplified SAM that is easier to document, use and understand, yet
still contains a good collection of useful example applications.
I will not name the individuals I spoke of, as I did not receive
their permission, but I will say that I found them in these two
- The Usenet group called "alt.os.linux.slackware".
- The Facebook group at
- Hello and welcome to the new SAM blog!
I'm writing to share with you about SAM. Perhaps you don't
know what SAM is good for. Or perhaps you want to know what new
tools or features have recently been released or are soon to be
released. I hope to serve those purposes and also to give some
air to my thoughts about SAM.
You get SAM from SourceForge,
in case you didn't know. I last uploaded SAM to SourceForge on
October 7, 2018. I have no release schedule--I release when I
am able, hopefully with reasonable time intervals. I want to
avoid letting it go for long periods of time--something I have been
guilty of in the past--I have made some improvements to my methods
to help with this.
231024: SAM is now available from two other places as well: this website, and the Internet