Missing you already, love.
Ahwell, at least today's my last day of work until the 15th!
![]() | You are viewing Log in Create a LiveJournal Account Learn more | Explore LJ Culture Entertainment Life Music News & Politics Technology |
“Wait a sec,” the Edutron Systems rep interrupted, cutting off the principal of River City High, “your students still use pencils and paper to take exams!?” The rep insincerely chuckled, adding “don’t tell me you’re still using slide rules to teach arithmetic!”
As shifty as the sales rep was, he did have a good point. It was 1993, after all, and the information superhighway was on the verge of explosive growth. If the principal knew one thing, it was that he – and most certainly, his students – did not want to be left in the dust. And if nothing else, Edutron Systems could help point River City High towards the onramp.
Edutron System’s flagship product was Classroom Assistant, which served as “an integrated digital notes organizer for today’s high-tech, on-the-go students.” Informally, it was referred to as the “digital Trapper Keeper” that “held a virtually unlimited number, each with a virtually unlimited number of pages.” In reality, Classroom Assistant was a glorified text editor that read and wrote files to the 3.5" floppy disk that each student was supposed to carry around.
To be fair, Classroom Assistant did have several other modules in addition to the in-class note taking module. Granted, none of them had anything to do with the “information superhighway,” but no one seemed to notice or care, as the software did run on a computer, which meant pretty much the same thing. The module that everyone was excited about, however, was for test taking.
The test taking module was designed with two key goals in mind. First and foremost, it made teachers’ lives easier by “digitizing” the entire process and, secondly, it reduced cheating by making sure each student had a different copy of the test.
To create a new test, all teachers would have to do was write up a bunch of questions and then “deploy” them to each of the classroom’s PCs. Because Classroom Assistant wasn’t a networked product, deploying the tests involved taking the 3.5" disk containing the test questions and then loading the disk into each computer.
Taking the “digital” tests was even easier. A student would simply select the appropriate test from the “test library”, run through the randomly selected questions, and then instantly see her results. She’d then raise her hand, and the teacher could then write down the test results as seen on the screen.
At least, that was the theory. It took all of one test for the students to find a flaw in the system: if one received an unsatisfactory score, he could simply retake the test. Classroom Assistant didn’t bother recording how many times each test was taken. Sure, retaking the test several times was time-consuming, but generally worth the effort.
On the second test, students found a slightly easier workaround: they could simply run a different test. Since the results screen did not indicate which test was taken, all one needed to do was open up the “Test Taking Tutorial” test and pass it with flying colors.
When the third test rolled around, yet another workaround was uncovered: the results screen displayed only the percentage of questions answered correctly and a list of incorrectly answered questions. So long as they were able to answer the first question correctly, they’d get an easy 100%.
By the time the fourth test rolled around, the teachers had finally figured out a workaround of their own: they required that students enter the last question’s answer in front of them to ensure that it was the right test and actually the last question. Of course, students were already prepared with a counter-workaround: they could simply CTRL-C to DOS, navigate to the appropriate test folder, and then type in the following at the prompt:
ECHO CCCCCCCCCCCCCCCCCCCCCCCCCCCCC > answer.key
This would overwrite the particular test’s answer key, ensuring that C was, in fact, always the correct answer. Some students even patched together a batch file that overwrote all answer keys for all tests.
Shortly thereafter, River City High moved back to the paper and pencil tests.
"I have been helping a guy with a project," seebs wrote, "I wasn't originally involved, but when the three-month project was six-months late, I got called in to start on the other half. I still remember the sick feeling in the pit of my stomach when the developer told me "all fields are varchar for simplicity...'"
"There's a database of users who can log in. Now, we all know that you always store the password encrypted, right? Perfect, it's stored as MD5. Here's the three relevant fields in the database:
username VARCHAR(32), password VARCHAR(32), password_md5 VARCHAR(32)
"...And yes," seebs continued, "the 'password' field holds the password in plaintext."
"Amazingly, the MD5 password is even calculated using a salt key. It's the MD5 hash of salt + name + password. The salt is the name of the company the project is for. Well, no. It's a misspelling of the name, with two typos out of six letters. Now, I'd have thought this might be intentional, except that two of the states a transaction can be in are CANCELED and CANCELLED_TX.
"The whole thing is like this. Several megabytes of code.
... but now... I do.
vengeful and wronged and... relieved!It Depends (from David)
Several years back, a "small startup on the verge of explosive growth" emailed me back after I had sent over my resume. They were interested in an interview. I went there, and their "office" was an old house in some shady downtown neighborhood that had four home-built computers jumbled together on an improvised table in the dining room with two guys in wooden chairs sitting around it. For a startup, I didn't think it was that bad, as many start up that way.
One of the two guys told me that he was "one of the CEOs, the President of the Company, and Head of Research and Development." I suspect he might have also said "and supreme leader of the world" if the other guy at the table, i.e. the other CEO, hadn't been there. I grabbed a wooden chair and sat at the table for our interview.
The interview was fairly straightforward, and the CEO (and the other CEO) didn't seem to disagree with my salary expectations. He told me the company had lots of "biiiiiiig" clients and was just starting to really grow. To gauge my technical skills, he asked me to do some simple coding tasks which were printed on a sheet of paper.
The first exercise read something like this:
Write a program in C# that receives a number N via console, and then prints the first N primes. Example: 6 1 2 3 5 7 11
"Quick question," I asked the interviewer, "the task tells me to print the first N primes, but then lists '1' in the output."
"Okay," he said, inquisitively raising his left eyebrow, "so...?"
"Err," I stumbled, "'1' isn't a prime."
"Hmm," he replied, "well, that depends."
"It depends?" I questioned, unsure if this was some sort of trick question, "it depends on...?"
"Well," he responded, "there are times when '1' is prime, and times when it's not."
I was tempted to ask what it depended on, but just decided to leave it at that. I quickly finished the exercise and left shortly after that.
Too Good to be True (from Greg L)
In an effort to find top-notch candidates, my consulting company put up a website that had a pretty difficult, broad-scoped multiple choice quiz on it. Anyone could take the quiz and, upon completion, had the opportunity to submit their score, some basic contact information, and a résumé. It was a pretty tough quiz: the company’s brightest guy took it, and he had only scored 84%. We figured it'd be a great benchmark.
The website got some great exposure, and next thing we knew, résumés came flying in. Most scored between 65 and 75, and were all very good candidates. As time passed, the influx of résumés reduced, and so far, no one scored higher than that magical 84.
One night, just as the contest was coming to a close, I received an email from the website proclaiming that someone had scored a 92. I eagerly pulled up his resume to see what he’s done in his past to warrant such a high score. I started perusing through it, only to find that he’s had one job listed on his resume, and it looked like it was just some website he’s done as a hobby. Looking at the dates of schooling, I could gather he was in his very early 20s. This didn’t quite make sense. The test was designed to gauge experience, not book smarts.
Sensing something was up, I pulled up the web logs to see what had happened. After seeing an entry point from Google, I noticed he pulled up the test page, submitted the test, pulled up the test again, submitted it again two minutes later, submitted yet again 40 seconds later, and again, and again. He took the test over and over and over for a period of two hours a grand total of 140 times!
The next day, the candidate emailed me to see what I thought of his score. I politely replied, saying that taking the exam 140 times wasn't quite the behavior we would expect from a consultant. He replied with the following.
Hi Greg, Anyone with 1 or more years in .Net could probably pass that quiz. I was trying to learn from it. Is there another quiz that I could take? I am not sure I took it over that many times. I took it maybe 20 times but your number is overboard. Regards, C------
I considered replying, but decided I shouldn't waste anymore time with this clown. No matter, a full 18 minutes later, he followed up with another email.
Dear Greg, I really apologize for taking the test so many times. As I said I was trying to learn from it. I hope this does not affect my possible future employment with ------- in the past. It seems to be a very great company. Is it still possible to apply in the future? Sincerely, C------