FAHTR aka Free And Happen To Remember

The following completely fake conversation was inspired by an actual conversation with an internal company user.

User: The web application doesn’t let me do XYZ. I can’t download ABC data for customer PQR.
Me: Well, your customer database don’t have JKL. The code changes will take some time.

User: So how long will it take?
Me: It’s not urgent, right?

User: Well…
Me: Then I’ll do it on a FAHTR basis.

User: What father?
Me: FAHTR. It means I’ll do it when I’m free and I happen to remember to do it.

The Psychotic Line – 3rd dimension of the Real Line

We have the Real Line, from negative infinity on one end to positive infinity on the other. Then we have the Imaginary Line, where we rotate numbers on the Real Line around to obtain imaginary numbers (or complex numbers). So what’s the natural logical progression?

Meet the Psychotic Line, with delusional numbers. As expected, special cases of delusional numbers collapse to either a complex number or real number, by simply setting the delusional component to zero.

The delusional part, j, shall be defined as
j^2 = -i
where i is the unit pure imaginary number.

Thus, j^4 = (-i)^2 = (-1)^2 * i^2 = -1

A typical delusional number is written as
d = a + bi + cj
(d stands for delusional, how coincidentally fortunate!)

Where complex numbers require rotation of 360 degrees to span the full complex plane, delusional numbers only require 180 degrees. Simply study spherical coordinates to understand why (part of the effort is already done by rotation from complex numbers). Once one can leap from the real world to the imaginary world, it takes half the energy to jump to the psychotic world.

One should study the psychotic line, delusional numbers and their properties, for they (possibly) hold the secret to untapped human cerebral abilities, interstellar travel, and maybe even a longer answer to the Ultimate Question of Life, the Universe, and Everything. I wish you luck.

PS: This was written in jest. You’re supposed to laugh.

Sort algorithm choice is immaterial for small numbers

I was debating with myself whether I should do a time comparison for the sort algorithms. Then I decided other people had already explained it much better than I could (and the real reason was that I was too lazy to code it and measure it. But you didn’t hear it from me…). So I’ll tell you a story instead.

Manager at desk
[image by diane39]

It was a few years back. I was just a rookie programmer back then. My manager didn’t understand why his superiors hired me. I didn’t even have a proper degree in computer science. He seemed to think my degree in applied mathematics and computational science was irrelevant. In fact, I think he’s afraid of me on some level.

Every day, I walked into my cubicle, sat in my chair, and waited for the phone to ring off its hook. It was a boring existence, doing small maintenance code changes to the C source code, helping users with their queries and basically making sure the System continues to stand on its rickety feet.

I was too “lowly” to be given work in the frontend, the web programming parts, the “high value” work.

One senior colleague, relieved of the maintenance duties by me, got the chance to work on higher level design stuff. A new project arrived, Highly Perceptible Project Opportunity or HiPPO for short. The manager got 3 more new staff to help out. The backend programs would be done by one of the new staff and the senior colleague (since the business processing logic was entrenched there), and the frontend web application would be handled by the rest of the team.

Me? I was given the task of making sure the System continues to stand on its rickety feet. I was considered too “lowly” to handle high level design work or web application development, yet too senior and knowledgeable about the System to remove me from the System.

One day, while I was looking at an email trying to figure out what the user wanted, one of the web application developers came over to me. Let me repeat that. One of the web application developers came into my cubicle to talk to me! I barely even get to see anyone from the HiPPO team.

Anyway, Tyler (as I’ll call him) asked me if I knew anything about sorting. In particular, how to implement a sorting algorithm. What? I went over to Tyler’s computer (wow, I’ve never been in that area…) and took a look at his code, and what he needed to implement. I told him to send me the source code, and I’ll try something out first before getting back to him.

I went back to my desk, elated that I had something to work on other than update statements and Excel spreadsheets. Tyler sent me the source code (we didn’t have source control, and even if we had, I doubt I’d be given access), and I tried sorting using bubble sort.

After testing the results, the bubble sort implementation worked fine for the requirements, so I sent the code file back to Tyler. Tyler’s happy that the sort worked, and I went back to my boring existence.

The next day, my manager called me to go into his office. I went in, and he gestured me to sit down. He looked at me for a few seconds, a furrow forming between his eyebrows.

“Vincent, I heard from Tyler from this morning’s HiPPO project update that you helped him with his sorting implementation.”

“Yes.”

He looked at me wordlessly for another few seconds.

“Is it fast? Have you looked at other sorting algorithms? There’s quicksort and heapsort I believe.”

My manager had obviously done his homework.

“Yes, I know of the other algorithms. I have chosen bubble sort because it’s easy to implement, and based on the requirements, it’s also fast enough.”

“I’m concerned about the speed. It has to be fast.”

“I’ve already tested with the higher ranges of the number of expected records. The performance is good. Tyler had also tested with the records from the test database, and it works fine.”

“But I’m worried about the user finding the web application slow.”

Now it’s my turn to look at him for a few seconds. I took a deep breath.

“We only need to sort maybe 3 or 4 records. Bubble sort is fast enough.”

[Story had been unbelievably distorted and exaggerated to make it interesting.]

Are they recruiting secret agents?

So I told you about the time when the security guard stopped me because I was too hot. I went for an interview, and it ended with stepping into the company building. This is where the story continues…

[What follows had been highly exaggerated for entertainment purposes. About 72.59% of it was created out of thin air.]

Bright lobby
[image by Freezingtime]

The gigantic lobby was brightly lit. The company representative had said nothing other than “Follow me” since I passed the security heat scan. He moved purposefully to the lifts and pressed a button.

I noticed the receptionist was staring at me. Not with adoration, sadly, but with an ever so slight frown on her face. The lift doors opened, and she went back to looking at her computer screen. The representative had already went into the lift, and I moved in quickly.

He pressed the button “B3”. We’re going below ground? He faced the button panel in a stiff manner, and I didn’t dare to engage him in conversation.

The doors opened, and I saw a long hallway stretching away from me. He exited the lift and I followed suit.

*Glung glong glung glong* The sound of our footsteps echoed emptily in the hallway. The tiled floor was clinically white. The walls were a uniform washed out grey, devoid of decorations.

I was half-expecting a door on the side to break the monotony when the representative stopped. A glass door was in front of us! There was a security panel on the right.

“Please move to behind me.” It wasn’t a request.

I practically leapt behind him, for fear of lasers sweeping the hallway. But the curiosity in me won. I took a quick peek at what he’s doing at the security panel. I mean, it’s not everyday you see retinal and fingerprint scans in action. But he’s just entering a few digits on the security panel. Oh, he just didn’t want me seeing him entering his passcode.

The glass doors opened with an almost imperceptible swoosh. I waited for him to take the lead, but he stayed where he was.

“This is as far as I can take you.”

I stared at him incredulously. “Uh, how do I get to where I’m supposed to go then?”

“Go down the hallway. When you reach the fork, turn right. There’ll be a room at the end. Wait there. Your interviewer will be a bit late.”

I almost wanted to ask him how was I supposed to return to civilisation when he turned abruptly and walked swiftly back to the lift. I went past the glass doors and they swooshed shut. My throat constricted a bit.

Following his instructions, I found the door leading to the room he mentioned. My hands shook while I turned the door knob. I entered the room.

It was a fairly large room. There was another door on the other side of the room. The lighting was uneven, where the brightest part was on a corner. Coincidentally, that’s where a table and two chairs reside (the only pieces of furniture in the room). A ceiling light flickered at the darker regions, momentarily allowing me to see… nothing there. The walls were the same pale grey, and even the light switches blended into the walls. The only thing missing in the room was a polygraph near the table. I swallowed.

There was a sign on the wall, near the table. I moved closer to read it, happy to see any form of decoration. It was a “No camera phones allowed” sign. My heart jumped, and I instinctively touched my pockets where my camera phone rested.

“I am so dead.”

After waiting for ten minutes, I decided they wouldn’t kill me if I sat down first. I placed my briefcase against the leg of the table, and mentally rehearsed what I was going to say. I had to tell the interviewer about my camera phone, of course. Checking that I had extra copies of my resume and academic accomplishments did nothing to calm me.

I jumped when a door opened. The interviewer came in from the other side of the room. “Sit down,” he said, a smile on his face. “I’m sorry I was late. Held up by a meeting.”

“I have to tell you this. I have a camera phone, but I’ve already switch it off.”
“Oh. It’s ok.”

He proceeded with what I felt were standard interview protocol. I was still in shock, when he threw an unexpected “I have a grandfather’s clock and it’s faster than my watch. Should I shorten or lengthen the pendulum?” I stared at him for a few seconds before answering. He must have sensed my confusion, because he said, “Oh it’s not part of the interview. I’m just curious.”

Then he showed me a piece of code on string concatenation and asked me how to make it faster. Then he showed me another piece of code, and asked about the rounding errors of the monetary calculations (oh I know that one!).

Finally, it ended. He told me he had to attend to something, and he couldn’t take me back (to the surface). But it should be easy that I retrace my steps back to the glass doors. Someone would pick me up from there. He exited via the same door he came in. I packed my stuff and left the room too.

Retracing my steps, I found the glass doors. And the representative waiting for me. How did he know when my interview would finish? As I walked towards the glass doors, he entered his passcode, and the doors slid open.

He took me wordlessly through the (endless) hallway, back to the lift, back to ground floor, past the (cute) receptionist, and out into the afternoon sun. “Thank you for your time, and we’ll be in touch.” was all he said.

I’m just glad I’m still alive.

The heat, the other and the pens

The heat was palpable in sunny Singapore for the past few days. Waves of scorching air rose off the asphalt. The bright yellow orb in the sky was indifferent to the mere humans living on the tiny island. With nary a cloud to shield the solar rays happily streaming down, nor an itinerant breeze to eddy ground level air, people were dropping like flies. Freak rain showers also left people sick, the weak unable to hold their own against the rapidly changing temperature.

Me? I’m hot! (double entendre intentional) The days were sweaty and the nights were sweltering. The small industrious electric fan at home did a great job at providing much needed relief, though there’s much to be desired. Because I have a high metabolic rate, and I generate enough heat energy to single-handedly power an entire apartment block. What those Matrix machines wouldn’t do to get their metallic hands on me…

What with the recent energy saving measures in the office, even my cubicle didn’t offer the cooling comfort sorely missing at home. I was drooping at work while the others were just moderately suffering in discomfort. Actually, my colleagues were only just a tad bothered by the mild increase in the thermometer readings…

The whole point of this monologue is that my brain’s fried. I can barely get my head around the programming work, let alone come up with a thought provoking article. Yes, I find writing harder than programming. Sometimes.

So I’ll leave you with a few discoveries of mine. And I discovered that I’m not the first one to coin the term “polymath programmer”. *sad* Refer to this Ruby forum article by Michael Letterle, the other polymath programmer (his site listed in the article is his old site). Yay, a fellow C# programmer! Alas, I’m not familiar with both manifestations of Ruby as a precious stone and a programming language…

I also found Brent Diggs, author of the witty and stomach-holding-hilarious site The Ominous Comma. I’m still laughing over his description of hectoplasmThanks Ben!

My final discovery is Men with Pens. Now I have every respect for James and Harrison, so I hope they’ll forgive me. When I first read their site name, my first impression was that there’s a missing “i” between “n” and “s”. Allow me to explain this unexpected association with the male genitalia…

When I was younger, my friend told me this joke about a teacher in a class full of students.

The pen was rolling off the teacher’s table.
“Sir, sir, your pen is dropping!” a student exclaimed.
“What? My penis dropping?”

You’ll have to excuse the crudity of the language… and the pronunciation. Non-native English speakers sometimes just pronounce words as they are, familiar syllable by familiar syllable… To make it up to James and Harrison, please go read about the exciting new world of niebu.