Tools to make tools

From iGeek
Noun Project tools icon 943586 cc.svg
I created my own command line, that was implemented across 3 different computers. It kinda worked.
Since I was using 3 different systems at the same time, to avoid errors/confusion, I just implemented my own command line (macros) that worked on all 3. It made me faster/more productive. And I will never do that again. The cost was after years of use, being less productive on anything but my own system.
ℹ️ Info          
~ 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.

GeekPirate.small.png


🔗 More

Me
This section is all about me (Ari Sabouni). The initial founder/creator of the site.

Work Experiences
Work experience is what you get when you didn't get what you wanted. Or at least I learn more from those kind.

1986-1988 Rockwell • Collins
After I left Rockwell, I went to work for Rockwell. I learned a lot, and accomplished more.

Lessons



Tags: Me  Work  Collins  Lessons



Cookies help us deliver our services. By using our services, you agree to our use of cookies.