OHMS BLOG

Showing posts with label storytime. Show all posts

Sunday, September 13, 2009

storytime

Satisfaction

In Alberta I always encounter a bit of hostility when somebody learns about which school is my alma mater. One guy once told me that he'd intentionally hire employees from any institution but mine, regardless of technical merit, simply out of spite.

This is rather frustrating for me, because while I was in Waterloo I encountered hostility for being an Albertan. One interviewer at a major smartphone manufacturer told me when the interview began that he "wouldn't hold it against me" for being an Albertan.

Either way, it seems like I can't win. Except for this one time:

In 2002 I decided to take a break from my co-op program and spend the summer at home with my friends and family. I took a job with my local municipal government to pay the bills.

One day, one of the IT guys walked into the office that I shared with another summer student. He hadn't met me yet, so my office mate introduced me to him. As soon as he found out where I was going to school, he started tearing into me. "So what on earth are you doing back here?" he asked.

After I explained why I came home, he made some kind of snide, slightly offensive remark. Noticing that I was not exactly impressed, he then looked at my office mate and said, "I guess he doesn't have a sense of humour."

I glared at him and retorted, "Maybe you're not funny."

I must have caught him off guard, because he frowned and promptly left. For the rest of the summer I was stuck having to do my own IT support. The satisfaction that I felt made it entirely worthwhile.

Friday, March 20, 2009

ScienceFair storytime

Making My Mark

It's Science Fair Week on the OhmsBlog! Yesterday's post is available here.

This entry is adapted from a speech that I gave at the awards ceremony for the 2008 Kiwanis Regional Science Fair in Medicine Hat, Alberta. Don't be fooled by the humour; this anecdote is non-fiction.




When I was an exhibitor at the 1998 Canada Wide Science Fair in Timmins, Ontario, the CBC came to do a series of live broadcasts from the exhibition floor. Unfortunately they could only set up their equipment to broadcast from one particular aisle, so most of the exhibitors (myself included) would not be interviewed on TV.

Being curious and inquisitive science fair students, we were not content to let these CBC broadcasts proceed without seeing some of the action. I wondered over there with a couple of friends who were from British Columbia. We watched the interviews for a while, but I started to get bored and decided that I would walk back over to my project's booth. As I started to walk, I stumbled a bit and thought I felt somebody push me on my shoulders from behind. I didn't think anything more of it, and I sauntered back over to my project.

A few minutes later, one of my friends walked over to me, laughing. "Do you realize what you just did?" he asked.

Confused, I said, "No, what do you mean?"

It turned out that when I stumbled and was pushed, I tripped over the cables that were carrying the CBC's video feed from their camera out to the control van. "You just knocked out the CBC!" he exclaimed.

I might not have made it on TV, but I made my mark on TV.

Thursday, March 19, 2009

ScienceFair storytime

"Somebody should give those guys with the music a good -- !"

It's Science Fair Week on the OhmsBlog! Yesterday's post is available here.




You'd think after my previous anecdotes about the Canada-Wide Science Fair that I was always the victim of other people's shenanigans. Unfortunately that wasn't always the case.

This story is another one that occurred during project setup in '98. Since I had already been to a CWSF in '97, by that point I was more experienced as to how the fair worked. The previous year, some of the Computer Technology exhibitors had flashy animated demonstration videos and techno music playing loudly on their computers. I don't know if this was supposed to attract TV reporters or influence judges, but it annoyed me immensely. This was a science fair, not a trade show, and I thought that the eye candy distracted observers (and other exhibitors, for that matter) from the real reason that we were there: the science.

Fast-forward back to setup day in 1998. I was sitting at my project's designated booth. All of a sudden I heard loud music coming from a project that was a couple of aisles down. "Great," I thought, "More flashy eye candy this year." I turned to the kid who was setting up beside me and voiced my displeasure with the noise coming from that project.

The kid beside me was from Edmonton. As it turned out, the group project that was making all the racket was also from Edmonton. My comments subsequently sent my neighbour scurrying over to his fellow members of the Edmonton contingent to tell them what I had just said. Even worse, I found out later that the purpose of their project was to build an amplifier and that the music was a legitimate part of their demonstration.

Oops.

Wednesday, March 18, 2009

ScienceFair storytime

I didn't call you a loser

It's Science Fair Week on the OhmsBlog! Yesterday's post is available here.




In 1997 I was an exhibitor at the Canada-Wide Science Fair in Regina. Since much of the science fair involves sitting at one's project, those of us in Computer Technology had the advantage of having our own computers on hand to alleviate some of the boredom.

I spent a few hours of my time playing a simple game that I had installed on my machine. The student sitting next to me took an interest in it, and asked him if I would mind giving him a copy. I copied the necessary binaries to a floppy that he had lent me. Justin, as I'll call him, took the floppy, copied the binaries onto his machine, and ran the game.

Since he had never played this game before, there were no high scores saved anywhere. He lost his first game quickly, but since the high scores were empty it prompted him to enter his name for the high scores list. Unfortunately the high scores dialog box came up looking like this:

Justin is a loser!

He looked over at me with an expression of incredulity and asked, "What's this?" The best answer I could give him was, "I don't know!" I didn't copy any configuration data over to that floppy, just binaries. That game was a 16-bit Windows executable, so it probably wrote its high scores data to an .ini file somewhere. Since that game was part of a package, I suspect that at some other time he played a different game from that package that saved its scores to the same file. Somebody entered that phrase as a high score for the other game, causing it to be the default when he played the game that he got from me.

I'm not quite sure that he understood that, though. He didn't say much to me for the rest of the fair. He just played "No Rain" by Blind Melon over and over.

Tuesday, March 17, 2009

ScienceFair storytime

"Now this project, this one's a joke."

It's Science Fair Week on the OhmsBlog! Yesterday's post is available here.




When I was an exhibitor at the 1998 Canada-Wide Science Fair in Timmins, Ontario, we were allocated several hours in our busy schedule for setting up our projects. Most people don't need too much time to get their project going, but sometimes shit happens and people need extra time to get organized. I recall one group whose computer project ended up in limbo because their computer was left sitting out on the tarmac at Pearson International Airport for a few days. In heavy rain.

For most of us, setting up was not quite so hectic. I unpacked my backboard for Advanced Windows 95 Security Techniques, the title spanning across the top in bright red. I removed my computer from its box, plugged everything in, and made sure that everything ran properly. I was mostly content to sit at my project and observe the commotion from my chair. Some competitors that had finished setting up decided to wander around, taking a look at some of the other projects.

One moment I was standing up and was doing some kind of maintenance on my setup, so my back was turned toward the aisle. Suddenly I hear a young man's voice behind me declare, "Now this project, this one's a joke."

I turned around to see what he was talking about, and behold, one of the senior level (grades 11-13) exhibitors is standing in front of my project and is critiquing it with his friend! I couldn't believe that anybody, much less another exhibitor, would have the nerve to walk right up to somebody's work and start talking trash in front of him.

I was incredulous. "Excuse me?" I said.

"It's a joke. You can't add security features to Windows 95, it's inherently insecure. It's impossible."

I was enraged. Who the hell did this guy think he was? What gave him the right to go around and pass judgements on everybody else's stuff? I figured that getting into an altercation at a national science fair would be headline news in all the wrong ways, so I bit my tongue a bit.

I looked him right in the eyes and stammered, "You know, I think that you very naïve." This guy had no right to dispense such comments, especially without reading anything beyond the title.

He and his friend wandered away, presumably to tear down somebody else's project. At this point, I was angry enough that I had to go and check out his work. I figured that I should go over and find out how credible this guy was, or at least find out what it was about his project that made him feel so superior to everybody else. I skimmed through the writing on his backboard, when suddenly I stopped and saw this sentence:

"C++ is not an object-oriented programming language."

I smiled. Things were unfolding exactly as they should. It suffices to say that in the end my project scored very well. Even though I know otherwise, I'd like to imagine that it was karma.

Monday, March 16, 2009

ScienceFair storytime

The Captain Hook Story

Since this Saturday is the 2009 Kiwanis Regional Science Fair in Medicine Hat, I thought that I'd declare this week to be "Science Fair Week" on the OhmsBlog. I'm starting on a Monday because I'd like to conclude the week next Sunday with a post-mortem of Saturday's events.




I've been programming computers for a long time, and I've been using computers for even longer. When I started writing code I was about seven years old. By the time I was thirteen years old I had switched from BASIC to C and C++. I had a desire to learn how to write software with a GUI, and I wanted to use a "grown up" language to do it. Our home computer in 1995 was a 486 box that was running MS-DOS 6.0 and Windows 3.1, so I decided to write Windows programs in C and C++. As time progressed the technology changed as fast as I grew. I soon found myself hacking away at a Pentium 120 running Windows 95. My mind absorbed books by Windows spelunkers Andrew Schulman and Matt Pietrek.

As a student in high school in the spring of 1997, I had observed my peers cleverly discovering ways to bypass the system policies on our school computer systems. For example, there was a system policy in Windows 95 that would block the "display settings" control panel applet, thus preventing students from being able to modify the desktop wallpaper.

Or so the teachers thought...

It turns out that, right around that time, web browsers started shipping with a little feature that, when invoked, would set the desktop wallpaper to an image that the user selected from a web page. The system policies blocked the control panel applet, but not the underlying API function, which I knew by that time to be SystemParametersInfo(). "Would it be possible to intercept and block API calls?" I asked myself. That sounded hardcore to me. I had been doing science fair projects since the seventh grade, and I decided to make that question the focus of my 1998 science fair entry.

My favourite time of the year has always been the span of time from the last week of June to the third week of July. I'd relax and enjoy my summer for that duration, but I had made it a habit of commencing my science fair projects after that final week had concluded. I would do research and take plenty of notes over the summer, but I still had plenty of time for golf, cycling, Slurpees, and whatever shenanigans I could take part in.

The summer of 1997 was slightly different. I would be spending two weeks at a summer computer camp offered by the University of Calgary to brush up on my C++ skills. When I wasn't in class, I spent quite a bit of time researching. I studied in the university library. I spent countless hours browsing the aisles in computer book stores. I scoured software shops looking to score an educational pricing deal on a new 32-bit C++ compiler for Windows.

I spent several months searching for the best way to implement my elusive goal: To globally intercept calls to Windows API functions and block them if they did not conform to an administrator's security policy.

By December 1997 I had found something that almost worked. Several programs crashed, but at least I could successfully intercept an API call that was made by any 32-bit process that was running on the system. 16-bit processes in particular did not fare so well (there's another story about that, but that one will have to wait).

Science Fair Tip:
Sometimes things don't work as expected. That's OK if you can figure out why. If you can use this knowledge to find a solution to the problem, that's even better.
Unfortunately the very program that seeded my idea did not work. Netscape would crash when I ran my software. It turns out that several of the Netscape executable's sections were marked read-only, causing a general protection fault when my software tried to intercept its API calls. Fortunately my diagnosis allowed me to add some additional code to fix the permissions so that my program could run properly.

By the time I presented Advanced Windows 95 Security Techniques at the Southeast Alberta Regional Science Fair, my program worked but it had a very simple user interface. It had a one line static text field that displayed the program's status and a single button to toggle its enabling. This rudimentary GUI was good enough for the regional science fair, but it needed beefing up to look good at the Canada-Wide Science Fair.

In the months between the regional and national science fairs, I completed a fully-featured GUI that placed an icon in the taskbar notification area. Selecting that icon would prompt the user for an administrative password. A successful password entry would cause a configuration screen to be displayed that would allow for fine-grained control over which API calls would be intercepted under which conditions. I called this program "Captain Hook."

The 1998 Canada-Wide Science Fair in Timmins, Ontario had its ups and downs (there'll be more blogging to come about those), but my week peaked when I won the gold medal for Intermediate (grades 9-10) Computer Technology. One of the other highlights was when I met the Governor-General. I also met several interesting people during the day that the fair was open to the public. The people that came to talk to me about my work included a school district IT manager and an employee of the Communications Security Establishment.

The schedule for the week at the CWSF was very busy, to say the least. Even worse was the travelling involved to get to Timmins from Medicine Hat. I got back in the early hours of Monday morning (Victoria Day 1998), and I had to return to school on the Tuesday. Unfortunately the sleep that I needed so badly was denied: my family's phone started ringing off the hook at 9:00 AM. The culprits? Media organizations. Needless to say, I was more or less incoherent for the next week at school.

Thursday, October 09, 2008

OhmsBlog storytime

Resistance: The Team Ohms Story

Two days ago I received a call from one of my sisters telling me that the famous Medicine Hat rumour mill was churning out a story that Mr. Weatherhead, my grade 12 physics teacher, had passed away. Perpetually searching for truth and justice, I was hesitant to believe such a tale. Unfortunately I later received confirmation from more credible sources.

I have often wondered why people feel the way they do about death. Certainly there's the obvious reasons: the deceased individual is no longer with us, and will not be with us in the future. Perhaps he or she contributed heavily to somebody's life. At the last funeral I attended, I made the observation that another, more subtle reason we mourn is because the people in our lives share experiences with us. When somebody dies, his memories and his perspectives about those shared events are lost. In a way, for the rest of us, part of our lives has been lost too.

It's been almost nine years since I was taught by Mr. Weatherhead, and though the memories have begun to fade, I decided that once I got my thoughts organized I'd tell a few stories about my experiences as his student. In many ways, the time spent in his class established much of the mythology that many of my friends still share on a regular basis. We would not have a Team Ohms (or a teamohms.org domain, or a blog named the "OhmsBlog") if it weren't for those five months of the first semester of the 1999-2000 school year at Medicine Hat High School.




I had heard stories about Mr. Weatherhead from my peers, but my first experience with him was when I was taking Physics 20. Mr. Grad was actually my teacher for this class, but Weatherhead was known to drop in once in a while, mainly for harassment purposes. He walked in and pulled out this wooden facsimile of a switchblade. It looked like it was made out of balsa wood; it wasn't a real weapon by any stretch of the imagination. It did have a rubber band that would extend the wooden "blade" when some kind of release mechanism was pressed. Mr. Weatherhead demonstrated this device, and then declared that it was a "Redcliff switchblade." (People who aren't from the Medicine Hat area won't get the joke, sorry.) Then he just turned around and left the room.

Another thing that happened that year (and I repeat this anecdote merely as an observer, not a participant) was on April Fools Day, 1999. Mr. Weatherhead's Physics 30 class talked Mr. Grad into unlocking Mr. Weatherhead's classroom early in the morning (I'm sure Mr. Grad was happy to oblige). The class went into that classroom and took every poster, every picture, every piece of paper that was stuck up on those walls, and turned them upside down. A mountain of desks had been constructed in the room, the chairs arranged around the perimeter. It was also wrapped in toilet paper. Apparently the look on Weatherhead's face when he came into the room and turned the lights on was priceless. Doug and I were both in the yearbook club, so when we caught wind of what happened we raced over there with a camera to take pictures. (See page 51 of the 1999 MHHS yearbook, if you can find it!) Mr. Weatherhead was a very gracious prank victim. He was quite amused, and commented that it was well done. I remember that Mr. Hider popped in and asked Weatherhead if this was his idea of higher learning. Mr. Weatherhead just laughed. He still made his first period class clean up the mess, though!

When 12th Grade came along, many of us were excited to be entering our final year of high school. We were also excited to finally be registered in Mr. Weatherhead's infamous Physics 30 class. Unfortunately for Mr. Weatherhead, we were perhaps a little bit too excited. I know that every teacher has students that are trouble, but unfortunately there were some of us in that class that made teaching it a bit more complicated. The funny thing is, these people were the ones that you'd least expect to be a problem! Myself, Wayne, Mark, and Titsing ended up being the riff raff in that class. We also had a few other supporting characters to help us out.

How bad were we? I guess it's all relative. Titsing (whom Weatherhead commonly referred to as "Tits") decided one day that every time Weatherhead said "Bohr" (as in Neils Bohr), the four of us should loudly yell "Bohr" back at him in unison, and pound our desks with our fists. Later on, this antic evolved into doing the same thing for "Ohm." Eventually it progressed to the point where every day when the ball rang at the end of class, one of us would ask (in an outdoor voice of course), "What's the unit for resistance?"

We would then all respond at once: "OHMS!"

And thus Team Ohms was born.

The mythology only expanded from there. When discussing relativity, Mr. Weatherhead was introducing the Lorentz transformation. Wayne and Mark had this Sean Connery thing going at that time where they would try to pronounce words as Sir Sean would. For example, "yes" became "yesshhh." My memory is a bit weak on this one, but if I recall correctly, Mark decided that he wanted to rearrange the formula around a bit to make the calculation more convenient. He referred to this rearranged formula as "Connery's Law." Sean Connery then became our mascot. It suited us quite nicely. [It also suited us that Connery was the original James Bond, and that in recent Bond movies the preferred timepiece was the Omega watch. It dovetailed quite nicely with our Team Ohms theme.]

Another day we decided to spontaneously pretend that everybody in our row of desks was riding a roller coaster. We all threw our hands up in the air and bobbed left and right in unison. Yes, many times that semester Mr. Weatherhead would just hold his head in his hands and sigh. Loudly.

Brett was another student who was in our class. He had recently got a haircut, and his hair was short, spiky, and dyed blond. Weatherhead took to calling him "Vanilla Ice." Of course, we caught on to that one in a hurry: from that day forward, every time Brett walked into physics class, at least one of us would break into an a capella rendition of "Ice Ice Baby," much to Weatherhead's amusement.

Speaking of hair, around that time Mr. Weatherhead had added yellowish highlights to his own. Unfortunately for him, Brock, another student at Hat High, had a hairstyle that was identical. Even funnier was the fact that Brock used to talk to Mr. Weatherhead all the time, and they could often be seen near each other in the classroom or in the hallway. When Wayne and I would walk by the two of them in the halls, Wayne used to pretend that he couldn't tell which one was Brock and which one was Mr. Weatherhead. Sometimes Wayne would intentionally reverse their names when addressing them just to rile them up - he'd continue doing it even when they'd start pushing him around!

The Mr. Weatherhead experience was never complete for any student without a story about the taser. The guy actually kept a taser locked in a filing cabinet in his classroom. Depending on his mood, and depending on what people said to him that day (sometimes you really had to piss him off, other times all you had to do was ask), he'd pull out his keys, walk over to the cabinet, and pull out the taser.

I had heard a rumour that the best way to foil the taser was to just grab onto it and hold tight. The initial shock hurt, but after that you were fine. Furthermore, your finger was electrified and could be used to shock Weatherhead back. We explained this to Darcy, another student in our class, and he decided that he was determined to find out if it worked. He somehow goaded Mr. Weatherhead into pulling out the taser and turning it on. Sure enough, Darcy grabbed onto the taser and held on tight. The funniest thing about doing this is that Mr. Weatherhead obviously didn't want to let go of the taser, but on the other hand he still needed to dodge his opponent's electric finger. The only way that he could get out of that situation was to unplug it.

The other taser story is that Mr. Weatherhead would bring the taser into contact with conductors that the students were least expecting. For example, he'd stick the taser onto the leg of a student's chair. The leg would conduct the current up through the bolts in the seat of the chair and give the student an unforgettable jolt in the ass!

Mr. Weatherhead was also infamous for the abuse that he inflicted on those fake babies that they make students taking health class carry around. If they started crying during one of his classes, he'd inflict all kinds of damage upon them. The funniest anecdote that I ever heard about them was that he tore the crying voice box out of a baby and hid it on top of a girder that was just outside the door of Mr. McFarlane's classroom.

My major Weatherhead classroom disturbance was the time that I decided to take advantage of my membership in the yearbook club. I signed out one of their SLR cameras and took it to Physics. I also asked Josh, a friend of ours who was not actually a member of our Physics class, to show up to our class wearing a dress. I told him that I'd pay him $5 if he'd walk up to Mr. Weatherhead in the middle of his teaching and put his arm around Weatherhead for long enough that I could get a picture. Josh went through with it, but unfortunately Weatherhead's reaction time was too quick. "Holy shit!" Mr. Weatherhead yelled as he tried to get away. I took the photo, but he had ducked out of frame just in time.

I was also one of the students responsible for the 2000 April Fool's Day prank. The other participants know who they are, and I'll leave it to them to come forward. Many members of the MHHS physics class of 2000 weren't sure how to top the April Fool's shenanigans from the previous year. We decided that a prank against Mr. Weatherhead would be done at his house, instead of his classroom. [Ah, nothing like youthful exuberance!] This would be carried out at midnight on April 1, 2000. We had planned a four-pronged approach:
  1. "The Goop," a mysterious substance1;
  2. A 20 pound bag of rice;
  3. Some chocolate-covered bananas and a container of Grecian Formula; and
  4. Toilet paper.
The Goop was poured onto his car, and then it was toilet papered. The rice bag was sliced open and then dragged across his grass in a lawnmower pattern. The bananas and the Grecian Formula were left on the front step. His trees and the front of his house were also toilet papered. Somebody took photos, which I am sure are still in existence. Finally, somebody rang his doorbell and we all ran like hell. He never had proof of the assailants (though I think we were definitely on his suspect list), though he did remark that they were very fortunate that The Goop did not damage his car.

For the first year or two after I left high school, I would still drop by and visit some of the teachers there. The last couple of times that I saw Mr. Weatherhead were during these visits. The first time was at Christmas, 2000. He was teaching class at the time, but Jason and I went and pressed our faces obnoxiously against the glass. I gave Mr. Weatherhead the finger, much to the delight of his class. Despite all the shenanigans that we put him through during the previous year, he invited us in and asked us what we were up to and how we were doing. The last time I saw him, I stuck my head through his open classroom door and yelled at the top of my lungs, "HI MR. WEATHERHEAD!" and then walked away. His wide-eyed response? "JESUS CHRIST!"

So here's to the indelible mark that Mr. Weatherhead made on Team Ohms, Medicine Hat High School and the hundreds of students that he taught. The place won't be the same without him. What's the unit for resistance?

1 "The Goop" actually consisted of the following ingredients (at least that I can remember): Water, oatmeal, leftover pasta, red food colouring, and corn starch. We boiled the water before adding the other stuff. It smelled terrible, was pink coloured, and was fairly thick in viscosity.

Release 7.0; Copyright © 1996-2012 Aaron Klotz. All Rights Reserved.