And that's why I roll with Liberty BASIC.
Jan 24, 2020 20:27:57 GMT -5
tenochtitlanuk and Carl Gundel like this
Post by sarossell on Jan 24, 2020 20:27:57 GMT -5
Lemme tell ya a story 'bout how I used Liberty BASIC last week to recover data from a 28 year old computer and got paid over thirteen grand for about six hours of work.
I was recently contracted to research a solution for recovering data from an old 486 PC running a proprietary database application that was created using QBasic back in 1992. The original programmer used random access files with XOR cipher encryption and a homemade electronic dongle that plugged into the printer port. Apparently, the original client was keen on keeping prying eyes out. The client was willing to pay a ridiculous amount to get the job done and they were under a deadline for some reason. Long story short, this old PC was confiscated by federal law enforcement from a winery in Central Mexico. You do the math.
Actually, before they contacted me, a couple of long-time former co-workers of mine had been approached, and they both separately and unbeknownst to each other, recommended that the client contact me because I tend to think well outside the box, but more importantly, they needed somebody that understood BASIC. These guys are professional programmers with decades of experience with C++, COBOL, RPG II, Algol, Fortran and even Z-80 Assembler and they both looked at the code and couldn't make any sense out of it. That just cracked me up. It didn't help that the code was some of the worst spaghetti GOTO nonsense I'd ever come across in my forty years as a technical writer and there wasn't a single comment to be found. Please understand, I'm not a programmer. I can recognize and even debug several languages from having looked at mounds of source code over the years and having to reformat it for print. You just pick things up. but I do enjoy programming with Liberty BASIC as a hobby.
Anyway, this PC was on it's last legs. The fan sounded like a coffee bean grinder and there was enough dust in the thing that Frankenstein could have revived an entire full-sized dust bunny and still had enough left over for a sweater. By means I'm sure I don't want to know the details of, they had a list of cipher keys and the hardware dongle, so it was just a matter of trial and error to get things to start making sense. Well, after troubleshooting a bad hard drive ribbon cable - try finding one of those damn things these days!
Using Liberty BASIC on a Core Duo Dell laptop running Windows XP, I was eventually able to move the data out of the old PC to the laptop and then rebuild and decrypt the database. The client was shocked at how quickly I was able to get things done. I attributed most of my success to the ease of programming in Liberty BASIC. I even gave a couple of their IT guys a short lesson on how it worked. They were thrilled. Of course, it would have been impossible without the cipher and dongle.
The contract was for "roughly" $4,000 if I could get just the raw data recovered before the end of January, and another $4,000 if I could get the text-based menu-driven database fully running again. They also offered another $4,000 bonus if I could edit the program to allow more granular search functions in that same amount of time. They even showed me a VHS video surveillance tape of someone using the database, so they knew what it could do and the functionality they wanted added if possible. There was only one option they asked for that I couldn't quite wrap my head around, but even they admitted they didn't quite understand the request. They wanted to filter by three different criteria simultaneously, but I'm fairly certain that two of them were mutually exclusive to the data. Anyway, they scratched it off the list.
We got the ribbon cable from another computer in the Evidence room and I got the database files decrypted and moved in less than an hour. The way the original programmer had written the database, each file had a different cipher key, so you couldn't search all of the files at the same time using the existing program he had written. So, I just decrypted all the files and wrote a new database program in Liberty BASIC on the Dell laptop. That took about four and half hours. It wasn't perfect, and I never was able to figure out why the darn thing would sometimes stop before reaching the end of a file, but good old Liberty BASIC let me know and I was able to catch it every time. I had to spend another half hour or so trying to figure out the shortcut notation used in the data itself, but one of the officers actually figured out they were all initials of key people's names. And that was that.
Imagine the shock when I got paid this morning with a check for 250,000 Pesos!
Carl, you friggin' rock, Dude!
P.S.: Remind me to tell you the story about how Carl saved my life back in '93, I think it was...
I was recently contracted to research a solution for recovering data from an old 486 PC running a proprietary database application that was created using QBasic back in 1992. The original programmer used random access files with XOR cipher encryption and a homemade electronic dongle that plugged into the printer port. Apparently, the original client was keen on keeping prying eyes out. The client was willing to pay a ridiculous amount to get the job done and they were under a deadline for some reason. Long story short, this old PC was confiscated by federal law enforcement from a winery in Central Mexico. You do the math.
Actually, before they contacted me, a couple of long-time former co-workers of mine had been approached, and they both separately and unbeknownst to each other, recommended that the client contact me because I tend to think well outside the box, but more importantly, they needed somebody that understood BASIC. These guys are professional programmers with decades of experience with C++, COBOL, RPG II, Algol, Fortran and even Z-80 Assembler and they both looked at the code and couldn't make any sense out of it. That just cracked me up. It didn't help that the code was some of the worst spaghetti GOTO nonsense I'd ever come across in my forty years as a technical writer and there wasn't a single comment to be found. Please understand, I'm not a programmer. I can recognize and even debug several languages from having looked at mounds of source code over the years and having to reformat it for print. You just pick things up. but I do enjoy programming with Liberty BASIC as a hobby.
Anyway, this PC was on it's last legs. The fan sounded like a coffee bean grinder and there was enough dust in the thing that Frankenstein could have revived an entire full-sized dust bunny and still had enough left over for a sweater. By means I'm sure I don't want to know the details of, they had a list of cipher keys and the hardware dongle, so it was just a matter of trial and error to get things to start making sense. Well, after troubleshooting a bad hard drive ribbon cable - try finding one of those damn things these days!
Using Liberty BASIC on a Core Duo Dell laptop running Windows XP, I was eventually able to move the data out of the old PC to the laptop and then rebuild and decrypt the database. The client was shocked at how quickly I was able to get things done. I attributed most of my success to the ease of programming in Liberty BASIC. I even gave a couple of their IT guys a short lesson on how it worked. They were thrilled. Of course, it would have been impossible without the cipher and dongle.
The contract was for "roughly" $4,000 if I could get just the raw data recovered before the end of January, and another $4,000 if I could get the text-based menu-driven database fully running again. They also offered another $4,000 bonus if I could edit the program to allow more granular search functions in that same amount of time. They even showed me a VHS video surveillance tape of someone using the database, so they knew what it could do and the functionality they wanted added if possible. There was only one option they asked for that I couldn't quite wrap my head around, but even they admitted they didn't quite understand the request. They wanted to filter by three different criteria simultaneously, but I'm fairly certain that two of them were mutually exclusive to the data. Anyway, they scratched it off the list.
We got the ribbon cable from another computer in the Evidence room and I got the database files decrypted and moved in less than an hour. The way the original programmer had written the database, each file had a different cipher key, so you couldn't search all of the files at the same time using the existing program he had written. So, I just decrypted all the files and wrote a new database program in Liberty BASIC on the Dell laptop. That took about four and half hours. It wasn't perfect, and I never was able to figure out why the darn thing would sometimes stop before reaching the end of a file, but good old Liberty BASIC let me know and I was able to catch it every time. I had to spend another half hour or so trying to figure out the shortcut notation used in the data itself, but one of the officers actually figured out they were all initials of key people's names. And that was that.
Imagine the shock when I got paid this morning with a check for 250,000 Pesos!
Carl, you friggin' rock, Dude!
P.S.: Remind me to tell you the story about how Carl saved my life back in '93, I think it was...