Soap box:
I've been scouring the net for programs that will allow your computer to serve
as an electronic test instrument, eg. use the sound card as a combination
Function-Generator, and Oscilloscope, there are many freely down-loadable
programs that do this, for Linux, however, Window$ is another beast altogether.
I have tried to write programs in Window$, I wrote a series of interesting
probe utilities, that displayed system resources in use, and details of what
programs were using them, in realtime, pretty cool, but also pretty slow.
In Linux, to do very much of anything, as an end user, you are required to
get the basics down pat. The system doesn't do things for you, you are
responsible that. It's a completely different mind set from the Window$ way,
where as an end user, associations between data, and the programs, are
automatically done for you. Window$ relies on this so completely, that
programming in Window$ is orders of magnitude more difficult, so much so, that
most of what programming in Window$ is about, is consistently re-learning new
variations of all the stupid tools, that are continuously being re-invented to
get around the problems created by the ease of use modality
that is Window$. Many, if not most, Window$ end users, scarcely know where
all of the files are, for any given project they are working on. Ask them
for a zip file of the project, and unzip it on your machine, you should
be able to pick right up and continue working where they left off. When was
the last time you seen that work? Back in the DOS era I'll bet. Linux makes
no such excuses for user stupidity, you are expected to understand what a
filesystem is, what a program is, what the command prompt is, how the basic
user, and system privilege levels work, before you even do any real work.
The payoff is enormous, the end user is, with only a minimum of effort,
empowered to take control of his own computer. Only the most seasoned Window$
users ever reach this level of control, and then only for one design cycle,
the next version of Window$ to hit the streets, is a complete up-turn of
everything previously learned. Thus Window$ discourages end users from
trying to learn to control their machine. A seasoned Window$ user, knows
better, and pushes on, in spite of the difficulty. Programmers, are ofcourse,
seasoned users, they have to be. The Linux world of programming, is only
slightly more difficult than using the machine for day to day work. In Window$
the bar is slightly higher. As a Window$ programmer, you need to spend about
a thousand dollars, every couple of years or so, just to buy the tools, that
are free in Linux. Then as a Window$ programmer because things change so much,
you must spend couple of years getting acquainted with the eccentricities
of your shiny new tools, before you become comfortable with using them.
By that time, the new version is already out, so you are using programming
tools, that will generate executable end user products, for a market that
is being phased out by planned obsolescence. This frenetic pace of useless
non-productive change, results in a lot of buggy software, that is very
expensive to develop. As a result, what free down-loadable Window$ software
you do see gracing the net, tends to be of low quality, and often have cripple
timers, that require you to purchase the product, just to keep on using it.
It is with great regret, that I am unable to point you to anything more
useful in the Window$ world, than a program written in Basic, that generates
dot wav files, that is also likely to stand the test of time. Any program
written for Window$ that is interactive, is also, for the reasons stated
above, unlikely to work in ongoing versions of Window$, short of a total
re-write, and that as I have indicated costs the developer, lots of time
and money, that most, can ill afford not to pass on to their end users.
To be fair Linux changes too, but the difference is, that as an end user
you are expected to run the make program, on the original source files,
to create a customized executable, that works properly on your machine.
The compiler may complain, about problems with the source, and if you
use the mouse to scoop up the complaints it generates, and E-mail them
to the author, he now has a good idea, of what the problem is, and can
much more easily fix it. When have you ever heard of end users in the
Window$ world, being employed as part of the debugging process. The running
joke is, that the bugs in the Window$ world, are simply documented, and
claimed as "features". In Linux, the compiler tells you what file is causing
the trouble, what function inside the file, what line number you will find
the problem on, and what exactly the problem is. Often a fledgling programmer
with nearly no experience, can identify, and correct the problem on his own,
atleast well enough to get the program working, thus the E-mail he sends
back to the author, is of immense help, even if done poorly. Thus Linux end
users rapidly segue into the world of programming, once this happens, you're
hooked, no going back to kicking the dead whale that is Window$, down the
beach. For the first time in a long long while, your computer truly belongs
to you.
If something I've said, piques your interest in Linux, I will say the following
about the time you will invest, assuming you are, a diligent, computer novice.
Acquire some good books on the subject, and an old computer, you probably
have one of these in the closet, or know someone who does. Load Linux on it,
the modern installations are easy, even for neophytes. Start working through
the examples in the books, at the command prompt, not the GUI. Learn how to
use man, and apropos, maybe even the info system. Time to get this far, two
months. Find some experienced Linux users, who are willing to spend some time
helping you, you will find a great majority are, they remember that when they
started out, someone helped them. Time to accomplish this, depending on your
social, and networking skills, two weeks, to four months, if it takes you
longer than that, move to another city :-) one with lots of sunshine and
pacific ocean view... I hear Tokyo is nice this time of year. Next learn
about all those command line programs, I have a file I call things to know
that shows numerous examples of stringing several of these together to
accomplish various tasks, at some point I'll clean it up, and make it
available online. Time to achieve working command line competence, one to two
years. Start dabbling in programming, bash, and or Perl scripting. Time to
start writing useful programs, three to six months. Learn 'C' Time to
start writing useful programs, nine to sixteen months. Don't at the early
stages spend time on learning any language, or subject that is in transition,
when I tried Java, it changed so much by the time I got up to speed, that
my knowledge was already obsolete, to be fair to Java, it has stabilized
somewhat, but it left lasting emotional scars, I'm still licking my wounds,
and haven't programmed in Java for years now. Well it's up to you, if you
think Linux is for you, and you have the determination to see it to the end,
go for it.