Hello southernchap, and for fellow communicators, I thought southernchap’s post for a professional programmer with 30 years of experience was a little disrespectful.
‘Starting with:, is the OP well known on this forum or in other contexts.’, is hardly a nice way to start or show respect.
I am well known in my adopted Toronto, Canada, as a Yorkshireman, with broad computing experience, although in recent years I have been semi-retired and then retired. My job as a consultant has been grounded in programming, software, equipment and capacity planning, operating and operational systems, and operational risk. I wrote a three-piece article for MEW about Silver Soldering in 2017. I have been a member of various Model Engineering Societies since the age of 18, including York, Sheffield and Toronto Societies.
I have 59 years of computing experience; my first boss, Dr K.D Tocher (Toch), an early and very well respected computer scientist and head of department at British Steel’s Department of Operational Research and Cybernetics, ensured I was broadly educated in the field. I started programming real-time systems, moved to real-time language definition and computer performance, and advanced to Principal Technical Officer at British Steel. After ten years, I became a Consultant with Software Sciences, then emigrated to Canada and became a Consultant with Bell Canada, and then a Consultant for HP, in conjunction with my role as Senior Director at CIBC, a large Canadian bank. I have also consulted with quite a few large companies, including IBM, Logica, Tata Computer Systems, Nortel, StorageTek, and Amdahl. I do not hide behind a pseudonym! So please show this OP a little respect!
If you had looked at the supplied code, you would have quickly seen that the code hides little and burying a bug of some sort would be considerably more difficult than in some seriously obfuscated C# or Java. Given your experience with C, C# and Java, you would quickly be able to get a grip on how the conversion has been done; nothing is hidden.
Take one simple example, the code for the chord calculator, and read it. Your knowledge of C, C# and Java is all you need; you are not writing or debugging it; you are trying to understand what was done to Marv’s code. 41 lines in the file; 11 are comments, down to 30 lines; seven are blank, down to 23; four are closing curly brackets closing blocks of code, down to 19; the top 6 lines, excluding the types described above, declare the package and import libraries; we are down to 13 lines. Three of those lines declare and implement a function that does the calculation; down to 10 lines; and they are the main function, which practically explains itself. No room for nasty spyware (nefarious code)… but eh code is code!
The downloadable code is far more risky, and as you say, finding the bugs in that is much harder. But detecting bad stuff is not. Just find the process name or number, see what network it is linking to, and monitor what is going on. With macOScommands below, give you a start:
By process name:
sudo lsof -i -a -c Safari
By PID:
sudo lsof -i -a -p 12345
Similar functions, I am sure you know, are available for Windows.
A Better Idea
Explore, have fun, look at the work Marv did and required preserving. Marv’s work, as built, will only run on 32-bit systems. The effort here was to first preserve what was an immense effort and then make it much easier to use (Part 2), which I am still working on.
About altruism, yes, that is partially correct. You should give back if you can! Readers, please think about how you can contribute; it’s much better than criticism, wrapped up in an enquiring comment.
The ME community have been utterly kind:
- York SME as a teenager, allowing me to learn how to drive locomotives and answering lots of questions.
- Toast at Reeves in Birmingham in the mid 197O’s while I chose castings.
- Sheffield SME meetings where inspiring talks were given by luminaries from the hobby. Prof Chadock, Ivan Law and many others.
- Watching my first lathe being made at Portass in Sheffield.
- Toronto SME meetings and open days.
- Visits in later years to Myford and RDG Tools in Mytholmroyd.
- Visits, one on a day the museum was closed, to Bolton Steam Museum, and dozens of historical technology sites around the UK, every one welcoming and informative, on annual visits home.
- Great days at Leeds SME at Eggborough Power Station.
- Lots of advice from readers and writers of Model Engineer!