Archive for the ‘life’ Category.
Giving HTML Emails a Try
I have decided to change my all-plain-text email policy and give HTML emails a try. This is mainly due to bad right-to-left support in plain text email messages (or in Thunderbird?) but there are other reasons. I will give it a try and in a few weeks decide whether I like to make it permanent or not.
I don’t know why I feel so shitty about it, like I’m cheating on my significant other or something!
Of Pursuit of Programming in Universities
I was reading this post on the AltDevBlogADay and noticed how similar it was to my own experience. The writer’s point is how removed most of academia is from the real world (at least in the programming world) and he relates a couple of anecdotes from his own past. It’s a short and funny read (specially the part about the floating-point number format in memory. I mean, talk about bad bad misinformation, not to mention the idiocy!)
Anyways, near the end of the post, he mentions that he somehow figured out that all the things his professors said were not the truth, the whole truth and nothing but truth. I remember exactly how and when this happened to me.
It was the first semester in my university (which was an absolutely mediocre one.) In the software engineering program over there, there was an “Introduction to Programming” for the first semester, and an “Advanced Programming” (or something like that) course for the second. Back then (in 1999) they taught Pascal in the introductory course and C++ in the advanced. My Pascal teacher was a young guy. A pretty decent teacher and academic (and quite orderly!) Those days, the way to program in Pascal on DOS/Windows and not get into the whole mess of Object Pascal and VCL was to use Borland Pascal (or Turbo Pascal,) which ran on DOS and was primarily targeted to that platform. Not that this was a bad thing, because most (almost all) of the students were unfamiliar with UNIX and programming for Windows was… well, is a mess.
Anyways, when he was teaching Pascal, he mentioned a few times that if you do this or that, the compiler will issue warnings. This was a bit puzzling for me, since I had been using Turbo Pascal for 3-4 years then and I had never seen anything like warnings being issued by the compiler! It either gave errors, or it compiled the code happily. It should be obvious for any programmers in the audience what the problem was by now, but of course, before then I had never actually written any C/C++. My experience was limited to some BASIC variants (Commodore, GW, Q, Visual (shudder),) Pascal and some Assembly. But I was beginning to dabble in C, in anticipation for the next semester and it suddenly became obvious to me that our instructor did no Pascal programming himself. He just had C experience and had read some books on Pascal!
There were many more incidents like this with many more teachers; little mistakes that would absolutely never happen if they had any real experience, and not book knowledge. (I should mention here that not all my teachers were like that. Some of them were surprisingly on top of the subject they taught, e.g. the white-haired 60-year old associate professor who taught Assembly!) I started resenting some of my teachers for their blatant ignorance and shamelessness. In time though, I learned that all of them knew stuff that I didn’t know and could learn. That’s when the university became much more tolerable. I only had to treat all important information the same way: with a grain of saltdoubt, no matter the source.
Garshasp’s Release Day
Tonight at midnight is Garshasp’s official release day. Finally! After many delays, tomorrow people can supposedly buy Garshasp at retail stores all over Iran.
The reason that I say “supposedly” is because that our distributor, a company named Lohe Zarrin e Nikan (I won’t even bother to link to their website) is a bunch of idiots who have done their best to disrupt the release and demean Garshasp. They have postponed the release date with no apparent reason for more than two weeks (not to mention their previous blunders and postpones for a couple of months,) they missed a huge (by Iranian standards) public game show, they rejected our designed retail packaging, they have used their own idiotic artwork for promotional material (which not only have nothing to do with Garshasp, but are also so very hideous.) Oh, and they have printed on the package that all rights of Garshasp are reserved for them! I must add that none of the above is permitted by the terms of the distribution contract we have with them!
Tonight is the culmination of years of our lives, and instead of partying and drinking and stuff, everyone has already gone home. No one even mentioned the release, as if we have all given up hope about this event being of any note and importance.
Tonight Garshasp is released, and not even we care. How’s that for a sad state of affairs?
Tread Softly, Johnny Walker!
Had I the heavens’ embroidered cloths,
Enwrought with golden and silver light,
The blue and the dim and the dark cloths
Of night and light and the half-light,
I would spread the cloths under your feet:
But I, being poor, have only my dreams;
I have spread my dreams under your feet,
Tread softly because you tread on my dreams.
This, of course, applies specially to the “Black Label”. However, only those who know what I’m talking about can possibly know what I’m talking about!
The Human and the Machine
I was watching George Dyson’s interesting presentation at TED about birth of the digital computer, and something rather frightening occurred to me.
When I started out with computers, maybe 18 years ago, I was in awe of them. Computers and what they did were a closed book to me, the way a great musician’s work is shrouded in mystery for me, yet I was enjoying their output and imagining what else they would do. Pretty much everything surprised and delighted me. As I grew more familiar with their working and started writing code, my awe remained but it also transformed, to a kind that maybe a musics student feels when seeing a true master play.
The awe and delight pretty much remained as I grew closer and closer to the machine, I knew more, but it still was like seeing a loved one achieve a great accomplishment or part of a great orchestra that plays a fantastic piece. Seeing beauty even from inside inspires awe. Of course, I’m not suggesting that I was any good at any time, merely describing what I felt.
In general, it was a like a love affair. Every little things, even the hiccups were strangely endearing. I wouldn’t think of computers as a machine. Of course, the hardware is a piece of dead equipment, but there is something else in there and I think I felt it. The Ghost in the Machine. I was in love with the ideas behind the hardware. I never thought of myself as a master of the machine, or it just another tool like a can opener or something. We were conversing with each other and we took nothing for granted. If something didn’t work, it was neither my fault, nor its; the problem was in the communication.
But then my view started to change. I started to rely on certain things to work and certain things to go wrong. I started to view the computer as a terminal for information, as a tool for bilateral delivery of entertainment, data, software or communication with other humans. The machine started to get transparent in the process, the way your door is a transparent method of getting in and out of your home. The door is there, and you know how to use it, but the door itself is not at all important. The stuff and places on either side is what is important.
This change kinda creeped onto me. Today I was forced to think about it, and I was shocked and terrified to realize that most of that awe has shifted from the machine to other people. The machine is no longer there, only those who designed and built the hardware and software. I don’t know how to exactly explain my feeling, and my depiction here is not exactly accurate. But I have lost the reverence for the love of my life, and I am a worse person for it. And I am sadder, and certainly a worse programmer, which is ultimately the most important aspect of my life. Oh, I do write better code and probably design better today than any time in the past, but I am nonetheless a worse coder and programmer, because I have lost the sparkle, and the love and ability to be pleasantly surprised no matter what.
Tonight was the first time ever that I drank alone. I was, am, in a very bad mood. I sat on my couch and downed a third of bottle of whiskey, and then I cooked for myself too (that’s almost another first.) No matter how hard I try to forget what I did that led to this evening, I can’t.
I’m sitting here, alone, and I am sinking. I can’t stop crying. Remorse is not even an option. Even death is not an option.
I realized tonight that I am a real asshole. Not a lazy guy, not a very bad procrastinator, not a liar, not a completely useless person, not a drama queen; a real asshole and a very bad human being.
I think I need professional help. Shit. I do.
Self-justifying Choices
Running away is a solution to many things. Giving up, throwing in the towel, passing the buck, unshouldering the burden, admitting your incapability, playing dead…
It’s a perfect solution for mediocrity, isn’t it?
If you thought that was the rant, you’re sourly mistaken. Here it is.
Let’s try a thought experiment. Nothing real, just a wild and fantastical fantasy. Suppose you are standing on the edge of a rooftop, contemplating jumping down. As long as you haven’t jumped, the choice is always yours. You can jump, stay on the edge or move back. It’s not like you can’t jump two seconds or two hours later. If the situation changes, you can always weigh the odds again and make a more suitable choice.
But what if you jump? You make a choice and you jump. I think that’s the best choice you can make; the most logical. If you stay on the edge, or you move back, the edge and the jump will always be there, tempting and tantalizing. Why defer the choice?
Some might say because it’s a final choice and because you will always have the option, you can postpone it for later. It’s not like the edge is going anywhere, right? Wrong. I say you should always jump the first chance you get, because once you jump, there is no going back and there is no more choices. Why would you postpone a move that solves your dilemma so quickly? How come people (including myself) defer such obviously logical choices for more than a single second?
I like these kind of choices. I like changes and commitments that you cannot revert. They simplify life so much.
I think it’s kind of funny, I think it’s kind of sad,
The memories in which I’m dying are the best I’ve ever had.
That’s not about death of course. It’s about giving up in despair. It’s about indecision and inability to deal. It’s about petty problems that prove impossible for weak people.
It’s about me.

