Some "caveats" are in order here: I don't have any formal training in Information Technology or Computer Programming, although I have a B.Sc. Degree from London University in Electronic Engineering (graduated in 1973, I am of 1948 vintage and retired early!). I am basically a teach-your-self C GNU/Linux programmer, learning from books as well as the Internet. As such, it should be expected that there will be mistakes and/or bad/incorrect programming practices evident in my source code, even if the applications themselves appear to work well.
I try my best to test and bug fix my software, but on my own it is difficult to make sure that I have exercised my applications in every possible way, to bring up hidden bugs. I use some tools (gdb, efence and valgrind especially) to check for memory violations/leaks etc, but even so these will only detect bugs if the program is used in such a way as to put the execution flow through faulty code. Lately, I have used cppcheck, clang static analyzer and especially, Coverity Scan's excellent Static Analysis tools to clean up more defects in the source code. Still, my software is only offered here "as is" and under the GPL license model, including the standard disclaimers of the GPL. Be warned!
Software Description:
My software is generally related to my Ham Radio hobby, for which I
acquired a license and a call sign (5B4AZ) in 1973 and operated in
various modes and frequency bands since. I was probably the first
radio amateur in Cyprus to operate on the early OSCAR satellites, using
mostly home brew gear, including antenna rotors controlled by a
computer I built from Wireless World magazine's kit, running my own
tracking software. And it was based on a 2 (two) MHz Z80 cpu with
an MM57109 fpu running at 800 kHz (0.8 MHz)!! It had all of 4 KB
(four kilobytes) of RAM and 8 KB of ROM containing BURP (Basic
Using Reverse Polish notation) - of course no disks at all, just a
300 baud interface to a domestic tape recorder!!
My current computer is a Compulab Fit-PC4 with Void Linux installed in place of the default Linux Mint distribution.
The software I have developed follow the UNIX approach to an application, e.g to do one job and do it well. For this reason I have on this site, for Ham Radio, separate software for PSK31 and Hellschreiber digital communication modes, Morse code decoding, satellite tracking and space communications, QRA grid Locator calculators and a logging application. I also have nec2c, a translation to the C programming language of the well-known NEC2 FORTRAN antenna analysis tool, and xnec2c, a graphical interactive version of nec2c. This can visualize antenna structures and much of NEC2's output (current/charge distribution, radiation and near field pattern, input impedance/vswr/gain etc) in real time, e.g. as results become available and without producing an output file.
Not related to Ham Radio directly, I have experimental software for Firewire/IIDC camera image/video capture and object tacking, a translation from FORTRAN to C of NORAD's SGP4/SDP4 and SGP8/SDP8 satellite ephemeris routines and a translation from PASCAL to C of Dr. Kelso's sgp4-plb26a library. This I have built into a complete source code package which can and has been used, by me and others, to build satellite/sun/moon tracking programs. Finally I also have an old ncurses-based application that interfaces with a Rockwell Microtracker LP(tm) GPS module and provides control and data read-out from this interesting device.