No one's educating anyone. He's arguing for the sake of arguing. So stead I'll try to entertain and inform.
Hey Mike, thank you very much. Hopefully you enjoy this. Hardware versus software and how I got here.
Monmouth county library
Check out the headquarters:
Find local businesses, view maps and get driving directions in Google Maps.
maps.app.goo.gl
I snaked a lot of cat 3 (maybe even worse, it had to handle my hand coded 232 signaling) through conduits in that building. And many others. I fucking hate snaking wires.
I had just coded software that joined the first CD-ROM database that existed in distribution commercially. I worked through various entities up to the chain from a tiny consultancy to somebody who could press CDs off the mainframe and then they taught us that and then we were pressing CDs for the library catalog. Those mainframers could blow 60 hours prepping the database to get to the point of it pressing on that CD.
Once I fucked up and asked the mainframe or a question. He said no problem. I'll have the answer for you in the morning. I did not realize what I had done. He wrote a program that churn through a file that produced a stack of paper that took four hand trucks to transport from Pennsylvania to New Jersey and the guy delivered a hand truck full of cases of paper and on the top piece of paper. The answer to my question was there.
I had chewed through $100,000 of mainframe time that night. The boss was not amused. The entire company had to renegotiate the contract because we had to pretend all you can eat but you better not fucking eat it like that.
I coded software that did database updates on the first 20 MB disc that we shoved into PCS and turned them into XTS. And it had to join with the static CD-ROM database cuz we can only update that once every 6 months. But I could get that library catalog database in real time. But I had to merge it with someone else's hundreds of thousands of lines of code that expected to never have a changing database. That shit don't change in that shit. Don't merge. You get a new one on a CD every time.
Nope. Mine showed up over the rs232 cable. In real time.
But then I had to recode all their software to understand the concept of merging the shit.
And then I had every librarian draw a map of every library. Some were multiple pages. They outlined them and they drew all the stacks and they labeled it with the Dewey decimal System.
I created an ANSI graphics terminal program that Drew a map of whatever library you're in. Hit the book finder key of whatever book you're looking at. A floating arrow will hover over the screen. Then they'll walk you the path to where the book is. If it was multiple floors you would get a zoom in as you moved in and around. I did this with fucking antsy graphics.
I plugged the database that was live to the database that was static to the pictures to the XT and I installed these PCS everywhere running dos. Ms.o.
When you ran out of memory on that thing you know what you did? You fucking jumped to zero and you reboot the box right. I stopped worrying about memory leaks in my C code because it wasn't mine, it was hundreds of thousands of lines that someone else wrote that I put a few thousand lines in, and when it ran out of memory I rebooted that box. It might happen once every 3 days. Great. I don't care if a patron is standing in front of it. There's four more boxes next to it. Move to the next box that one will be back in a minute.
I wrote this all while writing the file transfer stuff and the nightly batch processing and all kinds of other stuff. I had to wire two PCS together with a special cable and chip because I need to probe the CPU because I had to figure out where their occasionally leak was and I didn't have the source code at that level. So I had to put break points on the CPU while watching from above.
I went through at least half a dozen C compilers in about 2 years as I moved my code from each one because each had a better debugger than the last. I fucking love Borland turbo debug. When the 386 came out and I no longer had to buy the Periscope board to put the hardware break points in, life was good.
It gave me a great foundation for writing portable code. I don't write just portable between operating systems, I write portable code within options within compilers within a single operating system.
The previous year I had spent on xenix learning C, I was writing device drivers for printers while answering the phone for tech support. While traveling around because other people had different computers than us and we wanted to port our software to them. So I got to experience a whole bunch of different architectures as I did it.
I was doing rs232 signaling ioctl calls, while I was also handling the full print queuing system and everything else that talked to everything else. We replaced lpr/lpd. I had to go in under the covers in that process. I had to be able to do it on both AT&t and BSD and everything in between. Those printers are a touchy bunch. Just like subject matter experts.
All of this was self-taught on the fly. I was a child. And it was fun!
We spent a week setting up the mini computer before opening day because it was new construction. It wasn't done on opening day.
Shit was still being patched together and there was a thousand people out there milling around with champagne.
And a very important architect. Oh my God, this guy was so fucking important. And the mayor and the architect and the head of the library board were holding court and there was a crowd and everyone was grinning and and drinking their champagne and having a blast.
Excuse me sir. None of the diagrams match the conduits. I don't know shit about reading these things and the dozen of us would really like to know when we shove a wire in there, why does it come out there? Or we shove in there and it's just gone, baby.
This was not the first time I walked up to someone very fucking important and stopped what he was doing and said. Please fix this no matter how much you dislike me. And he really disliked me.
After the explosion of the insolance of interrupting very important people at a very important moment he went down to the computer room and the group of us sat and went through those diagrams and he explained them to us and we explained why they made no sense. And we looked at some wires at some pipes and he said oops none of it matches.
Sorry about that fellas. I guess you're going to have to drill some holes all over the place and do some snaking that you weren't expecting continuously for days.
I'm not hardware. I'm software.
No. There is no distinction. There's a system. I'm responsible for it. Accept it and move on.
I have never connected an electrical connection of any sort other than a data connection. I let the professionals play with the stuff that can kill me. And I let the professionals review even the data stuff because it crosses exposed areas and can get a lightning strike or or whatever. Just a little aside to keep in mind when an electrical professional reads this.
I wasn't supposed to be snaking wires. I was supposed to be coding the mini computer.
I'm a Unix geek who's learning and I've coded the nightly batch processing and along with a team of programmers. We've coded a system for check in and check out and I've installed xenix systems all over to every fucking branch and I drive through that county for weeks and months in between the moments of me actually doing whatever little coding I was doing because I was installing every fucking system there.
I also was doing lots of r&d comparing various microcomputer architectures as compared to the mini computers because those mini computers are fucking expensive and I was going to push everything to Xenix and then Unix, it was Sun Unix in those days and then I pushed everything to Linux with the Unix systems being the back end database servers for Oracle and doing massive merge purge batches that I yanked off the mainframe.
Big fucking rows of discs. It was the days of 9 GB discs. I had a couple terabytes in rolling racks in my office generating heat. I had an office that was a 8-ftx 15 ft box. That was nothing more than shelves and a spot for me to sit. Everything else was computers and rolling racks of discs and this massive AC unit output (the rest of the unit was on the roof ) that covered the entire wall. That shit flowed right over my head and I had to wear gloves and earmuffs.
When the blackout happened and the only room in the building that was making noise was mine, the guy in charge of the mainframe said how do I do that?
What the fuck?
These were really early days. This was junk mail on the mainframe and massive selection systems and dozens of people in operations just to run that box and many more dozens of Cobol and jcl programmers.
Football fields of printers. Multiple warehouses of printers in multiple buildings connected with all our wires or whatever the technology of the day allowed. We went from an industrial park over a main highway back to another industrial Park and we had to deal with all kinds of right-of-way issues.
Largest junk mail shop in the country. And there were only three of us. And then we bought one of them and someone else bought one of us and then a Canadian one went bought us. We then went after a local but God damn those guys were slimy and good. They were both brilliant and willing to lie continuously. They won and I was out of there.. Holy shit. That was a roll-up.
I was emailing the CEO in the middle of the night as it was happening by the time it got to that point.
But at this point I'm a kid in my late twenties and there's a large company that's sitting idle and I'm the only one getting any work done.
And they were all sitting idle except me.
I explained the room and a year later I was doing some major goddamn merge purges. Before that moment he just thought I was a random asshole.
Back to 10 years before that. I had a year in, I had been coding in C and had just learned xenix and I had been doing some telecommunication support and I had been doing some minor minor rs232 patch cables.
Hardware. ADHD roundabout back to hardware. I don't do hardware.
Then I was hired into a team that was coding. The Monmouth county library system. Simple as that.
Go automate the library and all of its branches. Go put in scanners and barcodes on everything, handle the check-ins and checkouts and interlibrary loans and whatever the fuck a library does, damn it. Don't forget to handle the legal aspect. Don't let anyone ever know what anybody's search or check out history is. We had to put in our our massive Arete y fake mini computer. Yeah it was big. It ran the same goddamn chip as the goddamn Macintosh. But we were running Unix and many many users.
And dozens of 286 xenix systems at all the branches. I installed them all. And all the Telecom stuff that allowed them to communicate every night to move the data back and forth and all the code that actually did it.
I've gone through every modem speed and signaling technology in existence. While I don't claim to understand any of the math and the compression, I appreciate it. I started with a coupler.
When UUCP failed I did it with a commercial terminal package of some sort, a desktop terminal package that ran on Xenix and MS-DOS And the aritay and at the same time. It had a damn fine little scripting language. Use the fucking random tool you got and if that didn't work fine another. Another. Get that shit done because there's a deadline.
That's scripting language gave me an incredible intro to automation. Before that I could do stuff in ProCom but the language sucked. The language that came with that particular Telecom software allowed me to do all kinds of stuff that wasn't just Telecom. All the sudden. I had a serious scripting language before they really existed. Before that it was piecemeal tools.
So I ran the world with that Telecom package for a long time as I automated stuff. Then I moved on to real stuff such as Perl.
So the back end of all nightly batch was being controlled by a terminal scripting language. On dozens of Unix systems throughout the county.
Colts neck is gorgeous. If you ever get a chance to visit the colts neck library in New Jersey, my God just stop by, it's such a lovely little library.
Jack of all trades means Jack of all trades. Fucking kids today.
My Jack of all trades really means find the right people to do it the right way, or figure it out on the fly better than anybody else.
I wanted to accomplish a task. That test required welding. I spent 40 years avoiding learning welding, I've had multiple opportunities. But I needed a test done that required welding.
So I invested at least 6 months of prep before I did my first touch when I was waiting for a class to start because that one crossed into dangerous and that's not a self-taught thing to me
And here's another kids today. They have YouTube videos. They have instructions for pretty much everything. Everything.
It was books back then. Either books or find someone to teach you. Sure, I can watch the YouTube videos and figure out the various tasks, but I have to figure out the moment where I'm risking a finger or equivalent and an act appropriately. They don't do that. They do the most dangerous shit.
You assumed I did the most dangerous shit.
That's okay.
But as you can see the wires are getting boxed in. I'll have a hinged cover there soon enough.
The power strips are very lightly loaded and well just distributed. Everything is within hands reach in that pathway for individual switches because I prefer lit individual switches on a power strip. That's also where the tapo control units get plugged in.
I know what plu
gs are on what circuit at glance. Nothing will be touching the floor or in any pathway or accessible by a cat.
Take care