How in 1982, the author successfully hacked his way out of having to fill in potholes.
Man vs. machine was the theme of the 1982 movie, Tron.
In the summer of 1982, just months before I would go off to college, my mother took me aside and told me, “Your father wants you to get a job this summer, to pay for your living expenses at school.” I was 18 and had yet to hold any kind of job, and to be honest was still kind of scared of the idea. I was a nerdy, stay-at-home sort, and to be honest, generally a bit lazy and uninterested in working. But I knew better than to fight this one, because I understood my fathers point of view.
He had worked hard all his life as an auto mechanic fixing cars, since an age way younger than 18. College was not in his wheelhouse, but he luckily supported sending me to school, and also funding it with money we got from selling my grandmothers house after she passed away. I was privileged enough in this way to get a (mostly) free ride to school, but I was expected to help out, somehow.
My father would not directly confront me on these types of things, and would go through my mother. But I knew this job thing was serious, and it would be a big disappointment if I did not figure something out.
And my mother as always was there to help. She found some local ads in town, including one for summer jobs at the highway department. I timidly went down there one morning in early June for a job interview. In a large building full of trucks and huge piles of sand, a burly guy in an orange vest came out to greet me. He looked me up and down, skeptically. I was a tall, lanky, pimply-faced teen, and although the word ‘nerd’ had yet to reach popularity, I exuded the definition of it.
After sizing me up, among the first things he said to me was (and I am not making this up)
“You do know that there is manual labor involved with this job, don’t you?”
“Sure… Sure.” I replied, trying to seem as believable as possible. I doubt he bought it, but he just shrugged and said,
“OK. When can you start?”
Then the wave of panic hit me. The truth was, I had not considered, at any real level, that there would be manual labor involved. Sure I knew it did, in some abstract way. But now I was thinking about long days in the blazing sun, standing next to a truck shoveling hot asphalt, cars zooming by inches away. And although it was perhaps the very definition of an honest, character-building teen summer job, I didn’t want to do it.
I knew I would eventually have to do some kind of work, and that it was not supposed to be fun. Its work, you get paid for it, and it can be unpleasant at times. It did not even come even close to occurring to me back then that the nerdy things I liked to do for fun would allow me to dodge any kind of manual labor job, basically forever. I did make up my mind right there at the highway garage though, that I was going to bail on this one.
I told the orange-vested burly guy that I had to go home and check on our “summer vacation plans” and would get back to him on a start date. (spoiler: I never did) And then I high-tailed it out of the general highway department area, as fast as possible.
When my mother later asked if I had gotten the job, I didn’t have the heart to lie. I told her “Yeah, but I didn’t take it.”. I tried to explain why, and felt a little ashamed. She was disappointed I am sure, but also understood at some level.
The last thing she ever said about it was “Don’t tell your father.”
And I didn’t. But this still left the pressure on though to find some other, less-worky kind of job. I drove around to the local university, tried to find a sales job in the computer store there, or maybe being some kind of tech assistant job or something in engineering department. I was not attending or planning to attend this school, so it was really pretty hopeless — any and all jobs like this were already filled by students there.
I was showing an effort though. Getting past my reluctance to actually talk to people, trying various things however unlikely, and I think my parents appreciated at least the attempt. After a week or two of hunting though nothing emerged, and I was beginning to think I had made a serious mistake on passing up the earlier highway department job offer.
My mom came home from work one day with an interesting lead. She worked at a radio station, scheduling commercials. One of the sponsors was a local guy who ran a used car sales and repair business. He was having some kind of computer problem, and had asked at the station if there were any “computer experts” there. The guy gave my mom his number, and she gave it to me. So I called him up.
Let’s be clear about this. Although I had pursued every opportunity that had presented itself over the past four or five years to interact with computers, I was no “Computer Expert.” I had taken a few college courses in Fortran and Data Structures ahead of schedule, thanks to a program that let high school students take computer classes. And I was decent at programming in BASIC, after many hours of time spent trying to write games on the neighbor’s TRS-80 computer. But my programming knowledge was spotty at best. I had not written very big or complex programs, or ever even worked on any, nor had I worked with anyone on software in a business setting.
What I did have going for me was what might be considered hacker sensibilities - lack of fear of computers in general, and in trying unknown things. A love of exploring, learning by experimenting, putting stuff together on the fly.
When I called the owner of the auto shop (lets call him Jim), I offered to look at his computer issue for free, unless I was able to fix it. These were terms Jim was quite happy with, since he had apparently already paid several others to solve his problem, without success.
Disclaimer: Not a 100% accurate depiction of Jim
When I arrived on site I met Jim, who is probably much like you might imagine a used car sales and repair proprietor. Friendly and business savvy, but also very money motivated in a not-always-healthy way. He had built probably the largest car sales business around that was not a dealership of some sort, one which also serviced cars, trucks and tractor trailers. He had a big operation and big dreams of many bigger things. I am tempted to go on, because Jim was quite a character; a polarizing, larger-than-life figure who frequently got himself into trouble of various sorts. But for now, back to this story.
Jim’s computer problems stemmed from an earlier business deal he had made with a software developer in California, to supply the computer system that ran his operation. This was a very small company, perhaps just one or two people. They had sold him a Data General Eclipse System, a 16-bit mini computer with multiple terminals, and custom software for repair orders, billing, and payroll.
At some point, the relationship between Jim and this vendor broke down, the vendor had stopped developing the software, and was asking for too much money for Jim’s liking to come out fix bugs that were now causing major problems for the back-office staff. I don’t know the details, but it reached a point where they were not even on speaking terms, and he was effectively stuck with abandon-ware. Jim called in other local people to work on the software, only to find that it was encrypted. (To be technical, I would say protected, not encrypted - but the end result was the same, no one could see the source code, so no one could fix anything)
Jim looked at me perhaps skeptically. I would have too, considering I was this kind of awkward, just-out-of-high-school kid who just showed up to look. But really I think Jim was more curious than anything. The idea of there being these ‘nerdy computer whiz kids’ was out there - but not common thing, and I was unlike most people I think he dealt with on a daily basis.
When I logged into the system, I began poking around and found the account he had set up was restricted in privilege. I went to Jim and told him he needed to give me better access, and he was immediately impressed. He said he had deliberately set up the account without any system access, to see if I would notice. It was like some sort of computer test of his, and I passed. I kind of secretly rolled my eyes, because account privileges were the least of his problems.
The bigger issue was this. All the files of this system that ran things were written in BASIC, which was great because I was pretty good at BASIC, thanks to years of trying to write games on that TRS-80. But, whenever you opened one of these files, it was blank. The program was there, but the editor showed nothing. When I looked at the size of them inside the directory they were in, I could see they had content, but something was making them unviewable.
If I had had access to better computers growing up, I probably would have not had any clue of what to do next, and left right there. But I had spent a lot of time using really old or otherwise primitive machines, like the 1974 Digital PDP-8/E mini-computer in our school, or the $150 256-byte Netronics ELF II development board computer I owned that featured a hex keypad and LED lights for input and output. I had hacked around on these machines a lot, and knew something about machine code, file formats and headers, operating system utilities, and low-level things like that. At least, I knew they existed.
So I figured maybe there was something being done to these files to make them unreadable, perhaps in the file header. I found a hex dump/editor utility on the system, that let me see and modify a raw file, including the header. This program showed the file as a series of hexadecimal digits, neatly aligned in a table. Along with any characters they represented.
In the editor, I could also clearly see the text of the BASIC source code for all the programs. It was there, not encrypted. It was the first thing that gave me hope, because it meant my theory was possibly right, and there was maybe some way to copy it out of these files into fresh, visible ones.
Jim was very curious and hovered nearby, but to his credit did not really interrupt. I’m sure it looked kind of like I knew what I was doing, because there was all these numbers and tables flying around. But really I was just in full “Hail Mary” mode, trying to see if there was any way at all to fix these files.
I created a “good” BASIC file from scratch, and looked at it in the hex dump program. Then I compared it to one of the “bad” ones. The contents were obviously different, but the file header, which contained information about the file like its name, location, size, protections, had a similar formatting between good and bad. Because it was somewhat regular in format, I could figure out some of what it did.
But there were a few areas of the file header I could not explain, that had some difference between good and bad. I began doing some blind experiments, modifying a copy of a bad file. The first few attempts ended up just corrupting the file to the point where it could not be opened.
But then I noticed a file header digit that was “E” for a good file when viewed in the hex dumper, and “F” for a bad one. (“E”, being the hexadecimal representation of the binary 1110, and “F”, being the representation of 1111.) 1110 versus 1111: just a one-bit difference between the two. So I flipped the bad file digit from an “F” to an “E” in the hex editor.
And the BASIC source code magically appeared on the screen. I was amazed. The “protection” that the vendor had put in place was literally just flipping one bit in the header of each file, to make it runnable, but unreadable. This was the code equivalent of one of those little luggage locks: A casual deterrent, but not effective against someone determined to get in.
My heart was racing, because it was beginning to look like I might actually be able to fix Jim’s problem here. And more importantly, I could back up talking the talk, with walking the walk. Or however that goes. I had been on-site for about an hour, and it took another 45 minutes maybe to go through the files and flip all the bits. Today, I would probably try to build some sort of script to do it all automatically, because programmers are indeed a lazy sort. But this kind of thing was beyond my 18-year-old capability, and to be fair, the Data General Eclipse may not have had the most useful scripting environment, I don’t even know.
In the end, it was under a two hour investment of my time to unprotect everything. When Jim saw I had fixed his files, he was stunned, and elated, in that order. He excitedly asked me to go and fix a bug with an entry form that had been plaguing his accounts manager, a field that was not getting set right. It was a simple bug, about 30 seconds to find and 30 more to fix it, but one that had been causing countless hours of manual work because the computer form could not be used.
And when I fixed that in under a minute, Jim was even more impressed. From this moment on I was, in Jim’s mind, a computer genius. He just stared at me, and said:
“How much do you want?”
Which might have topped the list at the time of most frightening questions I’d ever been asked, had it not been for the Highway Department’s “When can you start?” poser weeks earlier. But it was a close second. Because 18-year-old me, with no work experience and who had never been paid for anything really, never held a paycheck, who turned down the only job he ever interviewed for, was now being offered a sum of money, of my own choosing. I had not really considered the money side of this trip. I did come into the building thinking it could be a job lead, but all the time since, I was really just focused on the technical challenge.
What number to pick? I had no idea. No idea what programmers charged, what a consultant was or how much money my time could or should be worth. I didn’t want to offend Jim with an unreasonable amount. And I didn’t want to get swindled. So I picked a number that seemed pretty steep to me, but probably affordable by Jim: $100.
And a huge smile spread over Jim’s face. It was the smile of someone who had been held over a barrel for a long time, suddenly being freed. But also, it was the smile of someone who had just discovered an unbelievable bargain. Jim looked to his account manager and said “Cut Ned a check for $100.”
Then he said there was a lot more where that came from, if I wanted a job. He said he had a lot of work he wanted to do with the system, and offered me $400 a week over the summer, to fix problems and work on new programs he wanted.
So I left, $100 in hand and with a summer job. My parents were ecstatic, and I was also very excited about it. I worked for Jim for the summer, and the next, and it paid for my school supplies and expenses, and also allowed my to buy my first “real” computer, a Commodore VIC-20. It was good money and doing what I liked.
For some time though, I was nagged by the feeling that I had short-changed myself, in my initial encounter with Jim. I was well aware that I was the holder over the barrel then, and could have easily charged him much more than $100. He would have paid it, and it would have been fair maybe, considering no one else who tried was able to help. In fact, he had paid much more to others for computer work in the past, or attempts at it. How much more could I have walked away with that day, I wondered? Was I not being professional enough?
Time is a great moderator. When I look back on this now, I realize that the US minimum wage in 1982 was under $4/hour. That $100 would have been 25 hours of filling in pot holes with the highway department, even more when you consider I was paid under the table for this venture, in classic Jim style. And it led to my first job, that worked out to something like $20/hour or more, because I only worked about 20 hours a week, to make $400. Doing something that still to this day doesn’t really feel like ‘work’, in the sense my father would define it, anyway. In short, a pretty sweet deal.
Jim definitely made out as well, he was getting discount programming talent, and would later perfect the formula by hiring other college students to work on his system. I don’t really look at it as a matter of who was taking advantage of who any more though. In the end, the situation was mutually beneficial.
There is at least one other articles-worth of stories about the ensuing shenanigans that happened in this job. Weird things, like Jim’s wife trying to fix me up with their teenage daughter. And chauffeuring Jim around in a brand new 1983 Thunderbird Turbo Coupe on a business-trip gone bar-hop.
But it will have to wait for another time I guess. And if this was supposed to be a Teenagers Guide to avoiding actual work, I am not sure I can sum my experience with any useful advice. Everything that comes to mind falls into the trite, tired lines of “Do what you are passionate about, the money will come later.” or “Find a job you love, and you’ll never have to work a day in your life.”
But there is still some truth in there, in my case at least. Apart from that, I can only offer this: If you go looking for a job, have a plan for what you will do if they ask you scary questions, like “When can you start?”
Postscript: These articles pretty much come from my head to the page, and I do not exactly have a staff of editors to look them over. So my self-editing process is to let them sit, and reread a day or two later. And in reviewing this one, it comes off to me as a little elitist. Like it is about how this guy, using his great hacker skills, avoided the ‘menial labor of the commoners’ or something. I hope that is not the impression it gives - it is not my intention, anyway.
There are things we are cut out for, and things we are not, and I feel extremely lucky that the thing I was good at happened to lead to a pretty decent summer job, and then career. It’s luck that not everyone has the benefit of — but it is, at the end of the day, just luck — not a virtue.
Next Week: Is the competition keeping you up at night? Often it’s not the guys in the other company you have to worry about, it’s the guys down the hall. Tales of corporate civil war next time in: The Enemy Within
Enjoyed this post? Why not subscribe? Get strange and nerdy tales of computer technology, past present and future - delivered to your inbox regularly. It’s cost-free and ad-free, and you can unsubscribe any time.