Tools to make tools
I created my own command line, that was implemented across 3 different computers. It kinda worked.
~ Aristotle Sabouni
Created: 2022-03-06 |
Now just to be "fun" during my time at Collins, I was using 3 different systems at the same time. I had a PC and DOS, a DEC VAX and a DataGeneral (AOS/VS) for our code. And I was dragging my Mac in, and using it as a smart terminal for them all - at least for most of the project; when things went more secure, I had to stop. However, my earlier use of Macs had convinced Rockwell to buy quite a few secured Macs that didn't leave the building; and I ended up spending my spare being a network admin.
The big issue to my productivity was that all the machines used slightly different commands for the same things; so you're constantly using the other machines' commands for something and getting an error until you remember what the equivalent is for THIS machine.
To make matters worse they flipped things order on a lot of things (source-desination versus destination-source patterns).
So I did the only thing that would make it better; I created my own virtual Operating System to rule them all. (A much of macros that was implemented on all of them).
There's a joke that in software architecture, there's no problem that can't be fixed with another layer of abstraction. Though it's more of a fatalistic true'ism. Well that's what I did for my too-many-languages problem. I had to learn the hard way, why this solution just moved the problem. |
So I created hybrid commands, cross-implemented many commands (macros) on every machine so that you could type the same thing on any machine and get the result you wanted. (I actually build a system to create other commands, to make that easier). In the end, it didn't matter what machine I was on, I could always type the my command and get the result I expected.
This was typical engineering; often you're creating the tools to make the tools, to make what you want. (Like woodworkers making a jig to make the parts).
In a way, it worked brilliantly. I was more productive than others on the day-to-day stuff. I could jump across devices and be faster than anyone. But there was a cost...
After a year or two of this, I was near useless if I wasn't on one of my accounts (with my macro-language). You kind of forgot all the other 3, because you weren't using them regularly.
So while I was faster than those on multiple systems -- there were things my solution couldn't do. Then I was slower. And there was some overhead: an amount of time implementing and maintaining it in the first place. If you're going to be there for years, it's probably worth it... but I never did that again. The cost/benefits just weren't worth it, and losing the skills to use the native OS's.
🔗 More
| |
| |
| |
| |