Archive for the ‘stupidity’ Category.

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.

VN:F [1.9.13_1145]
Rating: 7.3/10 (7 votes cast)
VN:F [1.9.13_1145]
Rating: +1 (from 3 votes)

Imagine No Religion…

World Trade Center Towers on August 26th, 2001

VN:F [1.9.13_1145]
Rating: 8.5/10 (12 votes cast)
VN:F [1.9.13_1145]
Rating: +4 (from 10 votes)

One Less

Where there were twenty-something, now there is one less.

VN:F [1.9.13_1145]
Rating: 5.5/10 (2 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 2 votes)

.NET and I

I learned C# in 2000, when the compiler and tools were still in beta (I think. I know I was working with the beta, but maybe the finals were released unbeknownst to me (hehehe! The Firefox spellchecker does not recognize “unbeknownst”!))

I remember that I liked the language. It was clean and relatively compact, it had a largish and useful library, it was like C++ and Java (benefit? really?) and it had a command-line compiler. My impression at the time was that it was more suitable for small and quick programs, and very suitable for teaching programming. I even suggested it to my teachers at university as a replacement for Pascal, which was then thought as the first language to CE students (this was maybe 4 years before I met Lisp, or better yet, Python.) This was also before the whole .NET fucked-up-ness happened with all the WinForms and ASP.NET and whatever other shit they are peddling these days. In those days, .NET and C# produced console applications, unless you ventured into the river of diarrhea output that is the Win32 GUI API; but that was pretty much what you generally had, back then.

Anyways, my shallow and brief delving into the world of .NET was barely deep enough for me to familiarize myself with the inner workings of MSIL and the JIT compiler and the virtual machine. I learned little about these, and I have not kept up with the new developments in .NET, and I have no regrets there. I generally hate GUIs and network technologies that aim to solve all problems on all levels for everybody. They may suit some, and I have absolutely no doubt that many .NET-based applications wouldn’t have been as easy-to-write for other libraries and runtimes1. But I don’t generally like .NET and this opinion (I suspect) would be very hard to change.

The most obvious reason for this obvious dislike is the one I mentioned above. .NET is the champion of the all-for-all thoughtcrime. More than anything else that I have seen, it tries to do all for everyone and everything; without giving them an inkling of what the hell is really going on on any level below the most superficial. This may suit some, but it shouldn’t.

I seriously believe that every programmer needs to know what’s going on under the hood. Total abstractions almost never work beyond the most simple and trivial cases2. If you don’t know jackshit about your platform and your programs seem to have worked so far, you are just lucky. Let me give you an analogy. If you don’t know anything about how cars work and you drive one, when your cars breaks down in the middle of nowhere and you have no means of communication, the you are royally fucked. The fact that this has not happened so far, it just means that the Random Number Gods have smiled upon you so far. It may never happen, but it just as well might. That’s the way it is with programming. Except that the level of quality discrepancies among software and hardware products that you use is much wider.

All programming languages abstract the platform in some form and manner. But as some languages hide not much and what they hide, they do with much shame and much apologies (Assembly, C, etc.) others do as much as they can to distance you from the hardware. They even boast this feature!

In short, every good programmer that I know and I know of knows the whole stack of software and hardware underneath deeply and intimately. In fact, it might even be true that the better they know this mess, the better they are3.

Let me conclude now. I am not saying that technologies like .NET and Java and all those “high-level” languages are useless. I’m just saying they make it harder to be conscious about the actual platform and the rest that lies under your code. I’m pretty certain that the best .NET programmers can pretty much generate the MSIL code and the machine code that their compiler and the JIT compiler generate for any given part of their code. Maybe you should too.


1: Note that I don’t use the word “platform” here, and any other use of the word for a software technology in unintentional and a result of the force of (a bad) habit. No software is a platform; hardware is. It’s always the hardware that runs the code, and the hardware is always the platform. If you think otherwise, I believe you are the subject of the same kind of conditioning that has affected most of us.

2: Read this post on Joel Spolsky’s great (yet now sadly dormant) blog for the original presentation of the Law of Leaky Abstractions. Also read the Wikipedia page (and then the talk page for an interesting discussion.) Also read this Coding Horror post for a hilarious (well, not really!) example. Fuck LINQ!

3: I don’t believe that it’s this knowledge that they acquired first and it magically made them good programmers. I think on the way of becoming good, they had to acquire this knowledge. I have to ponder this a bit more.

VN:F [1.9.13_1145]
Rating: 8.0/10 (5 votes cast)
VN:F [1.9.13_1145]
Rating: +3 (from 5 votes)

Miracle of Flaming Hand

I saw my left hand burning tonight. It was engulfed in blue and yellowish flames of naphtha. I would have watched and enjoyed the sight much more if my right hand hadn’t been aflame before with my Zippo in it and I hadn’t thrown it into a glass of water!
You see kids, there is actually no way of putting out a Zippo if it’s out of the case, say for refueling. I would really have liked to stop and take a picture for demonstration purposes, but saving a drowning Zippo is much more important.

VN:F [1.9.13_1145]
Rating: 8.9/10 (8 votes cast)
VN:F [1.9.13_1145]
Rating: +3 (from 7 votes)

James Randi

http://adeli.ir/blog/?p=122

VN:F [1.9.13_1145]
Rating: 6.9/10 (7 votes cast)
VN:F [1.9.13_1145]
Rating: +2 (from 4 votes)

The Problem

Religion is harmful. Throughout history so much conflict, war and misery has been caused by organized religion that religious people hardly even see it. They probably attribute it to human nature, or “other religions.”
I believe, and I think people would agree if they think about it, that religion has been the most effective and most used tool for mass conditioning and mass brain-washing. It has always brought an illogical imbalance to societies and has caused endless strife and animosity within them.
I’m not talking here about the wrongness of the concept of religion. All religion is bullshit, and all religion that divides people based on any criteria (believers and non-believers, sinners and saints, etc.) is harmful and must be treated as a disease of mind, but I’m not here to try to prove what seems to be obvious if you forget your childhood upbringing and conditioning. What I’m talking about is the danger and destructive effect of systematic, organized and political religion.

You look at human history, and almost every time there has been a war or oppression or genocide, it has had its roots in religion, in one way or the other. But, you might object, religion has brought happiness and peace of mind to billions. Well, while the extent of the happiness and the number of people affected by it is debatable, it can’t be denied that religious beliefs have been beneficial to many. But so has been the cartoons made by Disney! Have they not brought joy and happiness to hundreds of millions or perhaps billions, too? And there hasn’t been any wars or mass murders or tortures caused by a Walt Disney film. We must start analyzing the benefit/harm ratio of religions rationally.

So for some reason, among all the works of fiction it has been religion and religious materials that have gained special attention and have been given special status. Why? I don’t know. Maybe they have had more time with our collective brains to turn them into mush and turn us into brainless zombies. Maybe if you think about religion in terms of the theory of memes, it will become apparent that everything about a religion, specially the more widespread ones, is evolved with one most important purpose: to let it survive. That usually means spreading to as many people as possible. That means bringing people in and keeping them hooked up and destroying its rivals, be they other religions or science or whatnot. And we humans, have been the tools to be controlled by these vicious, dangerous and single-minded memes to ensure their survival.

If you think the purpose of any long lasting and popular religion is human happiness, you should think again. The purpose of any religion is its own survival and dominance. A few million people here and there doesn’t make much difference as long as the long-term success of that meme is guaranteed.

To those of you who still think, in this day and age, that any idea like religion should be enforced or even be allowed to be advertised or be a part of any government or ruling body, I can only say to look at history. Look at your own lives! Look at our own lives and the lives of those like us!

For those libertarians and agnostics among you, I have to say that I don’t think religion is something to be ignored and always categorized as a personal choice. Religion is harmful and dangerous. It’s not only publicly recognized dangerous religions and ideologies like Nazism that are dangerous, but the idea of any mass of humans controlled by any religion. We cannot afford to remain agnostic any more. People are entitled to their own beliefs of course, but those beliefs should never ever be the basis for special treatment or ever be let to come to power anywhere at any time.

VN:F [1.9.13_1145]
Rating: 7.8/10 (4 votes cast)
VN:F [1.9.13_1145]
Rating: +2 (from 4 votes)

Apathy Their Stepping Stone

Justice Is Lost
Justice Is Raped
Justice Is Gone…

…And no justice for all, because a bunch of petty, raisin-brained dictator-wannabes wanna be dictators. And frak them all.

VN:F [1.9.13_1145]
Rating: 6.1/10 (12 votes cast)
VN:F [1.9.13_1145]
Rating: -2 (from 4 votes)

Tactlessly, Insensitively Feminist

I guess most human languages have been much more hostile towards women than men, in regards to sex life style (which is basically where words are the most hurtful.) For example, in English we have, as far as I can tell off the top of my head after a sleepless night, the following words to describe women as having loose morals or a certain lifestyle:

  • slut
  • hussy
  • whore
  • escort
  • harlot
  • hooker
  • trollop
  • meretrix (Bet you didn’t know this one! Had to look up the exact spelling myself.)
  • strumpet
  • courtesan
  • prostitute
  • streetwalker

I bet you can find twenty more words like these if you consult a dictionary. There is no funny story here, no amusing anecdote. Only a few millenia of human nature and men’s cruelty and search for domination. What better criterium than gender? What better line to divide humanity and make sure you are on the side of the winners and can never be pushed across?
What division is more cruel and yet more deviously natural? What bind and shackle is more unbreakable?
What justice can rule like this? What humanity can exist? What kind of men are we if we are not human?

VN:F [1.9.13_1145]
Rating: 6.9/10 (9 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)

MOST Annoying Thing Ever

I wrote a post a while back and said that my cellphone is the most annoying item I have in my life. Obviously, there was a “currently” implicit in that statement. I don’t anyone can disagree that the most annoying (and loathed) item ever to exist on this planet is the Microsoft Office assistant paperclip. (The reasons of why I’m even using Office in the first place are too sad and depressing to enumerate.)
I saw an amusing cartoon (warning: animated GIF – may cause partial blindness!) the other day which brought back the horrifying memories of the 5-10 seconds it took to disable the devilish creature and make it disappear the first time I opened Word. * shudders *

VN:F [1.9.13_1145]
Rating: 8.2/10 (5 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)

Weeping Blood

Everything was ready. The ordinary razor blade was broken in two to provide better grip and control, the tissue papers to dry the blood that would be running shortly, the ash tray to gather the excess blood and soaked tissues, the lit candle for the hot wax that he would use later to fill the holes and stop the bleeding. It was another night and another nightly ritual.
Removing the nail on the big toe is not easy. He had done this many many times over the past 13 years, and his technique had improved substantially from just trying to yank and break off some part of the toe nail to methodically dissecting and twisting it out piece by piece.
Tonight was the projected night for him to remove the remaining bottom half of the nail. He would start by making a vertical incision in the nail with the razor blade. Before razor blades, he had tried several different knives, and while saw knives (knives with jagged edges) worked acceptably, none were comparable to the ease that razor blades sliced nails, like a hot knife through butter. He started with the vertical cut, right down the middle of the toe nail to cut it into two side-by-side pieces. He knew from experience exactly how thick the toenail was, yet he had to be very careful with the depth of the cut. If he made it too shallow, his nail would not be cut in two and it wouldn’t be easy to remove completely. And if he made it too deep, he would cut into the sensitive flesh underneath and the bleeding would obscure his view and get into his way and he would have to postpone the “procedure”. But cutting the visible part of the nail was not enough. Anybody who’s ever worked with nails knows that they run long beneath the flesh at the base of the nail. He knew that he had to cut two to three millimeters of the skin and flesh covering the hidden part of the nail to be able to slice that part. The fact that the base of the nail was softer and less brittle did help, but it also meant that the nail would be attached and interleaved with flesh and harder to remove completely. He needed to cut some flesh as well, although not nearly as much as one pound, but here he was allowed the extraction of blood, vein and sinew along with the flesh.
Although he was experienced, he couldn’t help but nick the toe while doing the vertical cut anyway. He did not care about the blood and he didn’t feel the throbbing pain after so many years and so many rituals, but the blood did get in his way. He dried up the blood with the tissues and went right back to work. He needed to remove the whole nail this time. If he didn’t make the cut all the way down to the stem of the nail, some part of it would remain in the depths of the toe and would grow into the skin and flesh and would fester there. He didn’t care about the festering, but he would be annoyed because he would not have access to the nail for a long time which pissed him off.
After several minutes, he managed to make the vertical incision all the way through to the base and soft part of the nail. He then started carefully lifting the two parts of the nail up and out, like opening a hatch in the ground. From this point on, there was no avoiding the blood-flow. Bits of tissue (the kind that is part of your body) would be stuck too hard to the underneath of the nail and would be ripped off as it came up. He did it fast, using a pincer to grab the now slippery nail and take it out. If you try something like that, don’t pull the nail up (along the Y axis of your body, towards your head. Do it along the X axis (to your right or left.) It requires more force, but the result is a cleaner severance. He did it first with the right section and then the left. The procedure took six or seven minutes from start to finish.
He did not wipe off the blood that was bubbling now. He lay back and extended his feet and let the blood stream down his foot, down from the corner of where his nail used to be. The bleeding tow looked like an empty eye socket, in half a face, weeping blood.

VN:F [1.9.13_1145]
Rating: 8.2/10 (5 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)

In Vain In Love

The Scream, by Edward Munch

“A mighty pain to love it is,
And ’tis a pain that pain to miss;
But of all pains, the greatest pain
It is to love, but love in vain.”

No, No. Turn off the alarms and the flashing lights! This is not what it sounds like. And even if I resort to wandering the deserts, it would be out of “weltschmerz”, not unrequited love (which is not the point here anyway.)

VN:F [1.9.13_1145]
Rating: 7.8/10 (4 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)

Guide for Writing to Me (Don’t Go Fandango on My Nerves!)

All I’m going to say is pretty much the same as in here. If you don’t want to read my rants, at least take a look at the linked HOW-TO (chances are that you’ve read that already.)
And I just have to write the rest in Farsi.

من معمولاً روزي بين دو تا ده نامه شخصی و کاری دريافت مي کنم و مي فرستم. اگر مطالبي که در بلاگ‌ها و forumها و newsgroup ها و مانند آن‌ها مي نويسم رو هم بشماريم، بيشتر از 20 تا در روز مي شه. فعلاً به مطالبي که خودم مي‌نويسم کاري ندارم و مي خوام در مورد نامه‌هايي که ديگران براي من مي‌فرستند صحبت کنم (متوجه هستيد که منظورم از نامه فقط email نيست، و همه اون موارد ديگه رو هم شامل ميشه.) اگر مي خواهيد براي من يا هر کس ديگر نامه اي بفرستيد، منطق و ادب و اخلاق و حتي انسانيت حکم ميکنه که اين موارد رو رعايت کنيد:

  1. عنوان درست: خواهش مي کنم اگر هيچ کدوم ديگه از اين توصيه هاي من رو جدي نمي گيريد، اين يکي رو بي خيال نشيد. براي نامه تون يک عنوان (يا همون subject) درست انتخاب کنيد. با اينکار نه تنها کار رو براي من آسون مي کنيد، بلکه شانس خونده شدن نامه توسط من رو هم افزايش مي ديد. تعداد نامه هايي که از newsgroup ها و mailing list هاي مختلف در هر روز براي من و امثال من مياد به شدت زياده (200-300 تا در روزهايي که هوا مساعد نيست!) همين تعداد هم نامه junk و spam اضافه کنيد تا بفهميد که شانس خونده شدن يک نامه توسط من نسبت مستقيمي با فرستنده و موضوع نامه داره. (در مورد فرستنده در ادامه مي نويسم) بيشتر از نصف نامه هاي غير مزخرفي که هر روز به من مي رسند، فقط عنوانشون خونده مي شه و متنشون رو حتي load هم نمي کنم. براي اينکه شانس خونده شدن نامتون بالا بره، يک عنوان درست، موجز و informative براش انتخاب کنيد. به عنوان راهنمايي مي گم که “help” و همه اقسامش به همه زبانها عنوان خوبي نيست (حالا هر چند تا هم که براش علامت سؤال و تعجب بگذاريد!) باور کنيد هربار که يک نامه با عنوان “komak” يا “help” يا “mr zhian” يا “project” يا “meeting” يا “جلسه” يا “problem” يا “برنامه” يا “link” يا “hello” يا اين جور چيزها مي بينم دلم مي خواد نخونده پاکش کنم. هرچند معمولاً اين کار رو نمي کنم، ولي بدونيد که همچين عناويني باعث ترشح ايد معده من مي شه که سه تا نتيجه داره: يکي اينکه من زودتر زخم معده ميگيرم، دوم اينکه با مزاج ترش و اوقات تلخ نامه شما رو مي خونم و احتمالاً جواب مي دم و سوم اينکه فرستنده اون نامه يک قدم به بيرون افتادن از ليست کساني که من اصلاً عنوان نامه هاشون رو مي خونم نزديک مي شه. حتي بعضي      ها، عنوان نامه هاشون رو خالي رها مي کنند!
    موقع نوشتن عنوان نامه، دست کم به دو موضوع فکر کنيد: اينکه گيرنده وقتي اولين بار اون نامه رو مي بينه چه فکري در مورد محتوياتش مي کنه و دوم اينکه اگر شش ماه بعد خواست از بين 50000 نامه اي که در آرشيوش داره اين نامه خاص رو پيدا کنه مي تونه اين کار رو با يک يا دو جستجو روي عناوين انجام بده يا نه.
  2. لحن مناسب: اين يکي رو خودتون مي تونيد حدس بزنيد. فقط در نظر داشته باشيد که email به عنوان يک رسانه به نويسنده اجازه مي ده که لحن غير رسمي تري نسبت به ساير انواع ابزار ارتباطي انتخاب کنه، هرچند در نهايت لحن نوشتن به آدمهاي مختلف بايد با هم متفاوت باشه.
  3. محتوي: اگر براي من چيزي مي فرستيد، بهترين کاري که مي تونيد انجام بديد اينه که به من يک چيز جديد ياد بديد. اگر اين کار رو نمي کنيد، دست کم مي تونيد وقت من رو تلف نکنيد و يا چيزي براي من نفرستيد يا اصل مطلب رو بنويسيد و بي دليل حاشيه نريد. هر چند، تحت هيچ شرايطي اطلاعات مهم و مربوط به موضوع رو حذف نکنيد. در ضمن در نظر داشته باشيد که اگر در جواب نامه 3000 کلمه اي تون فقط يک “نمي دونم” يا “نظري ندارم” يا “نه” يا “OK” دريافت کرديد، من فقط دارم به وقت شما احترام مي گزارم.
  4. فرستنده، گيرنده: هميشه به بخشهاي From و To و CC و BCC نامه هايي که دريافت مي کنيد و مي فرستيد دقت کنيد. اين موضوع خيلي مهمه. اگر نامه اي رو دريافت مي کنيد، ببينيد اسم شما در کدوم قسمت آمده. اگر در To نيستيد، احتمالاً فرستنده از شما انتظار جواب نداره و فقط جهت اطلاع رونوشت email رو براي شما هم فرستاده (البته هميشه اين طور نيست، مثلاً mailing list ها.) به فرستنده نامه ها دقت کنيد ولي اصلاً به فيلد From اعتماد نکنيد. هر کسي ميتونه هر اسم يا هر آدرسي رو اونجا بنويسه. موقع فرستادن نامه از فيلدهاي To، CC و BCC درست استفاده کنيد (مخصوصاً BCC.) اگر نامه اي رو براي جمع کثيري که ممکنه همديگر رو نشناسن (يا نخوان که بشناسن) مي فرستيد، همه آدرس هاشون رو توي BCC بنويسين، وگرنه همشون آدرسهاي همديگه رو خواهند ديد. به privacy مردم احترام بگزاريد.
  5. پيوست ها: يادتون باشه که من و خيلي هاي ديگه از webmail استفاده نمي کنيم. بنابراين، وقتي فايلي رو به يک نامه پيوست مي کنيد، احتمالاً (بسته به تنظيمات client اي که استفاده مي کنيم) اون فايل روي کامپيوتر ما download مي شه و پناي باند و فضاي ديسک ما رو مصرف مي کنه. بنا براين لطفاً چرنديات attach نکنيد. اگر فايلي يک جايي آن لاين وجود داره و موجود مي مونه، کافيه که لينکش رو بفرستيد که علاوه بر صرفه جويي حدود 33 درصدي در پهناي باند گيرنده، براي فرستنده هم خيلي راحت تره. کلاً از پيوست ها سوء استفاده نکنيد. فايلهاي پيوست رو حتماً با يک نرم افزار فشرده سازي مناسب (يعني معادل opensource اش براحتي قابل دسترسي باشه) فشرده کنيد، مگر بعضي انواع فايلها که با روشهاي خاص منظوره فشرده مي شوند (JPEG، اغلب قالبهاي موسيقي و فيلم،…) بهتره که بخشهايي از فايلهاي متني مربوط به موضوع نامه رو داخل نامه هم ذکر کنيد (مخصوصاً کد) ولي چون ممکنه قالب بندي اين فايلها به هم بريزه و قابل خواندن نباشه، پيوست کردنشون هم کار خوبيه.
    فرستادن يک فايل با قالبي غير قابل خواندن براي من بزرگترين توهينه. کامپيوتر من که سطل زباله نيست که هر نرم افزار آشغالي را روي آن نصب کنم تا بتونم فايلي که تصادفاً يک نفر براي من فرستاده رو باز کنم.
  6. Forward: اگر نامه اي را براي کسي forward مي کنيد، اولاً مطمثن شويد که طرفتون حداقل کمي به محتوي نامه علاقه مند باشه. نوشتن نامه براي بعضي ها مشکله، به همين خاطر آدم لازم نيست نگران اينکه اونها inbox اش رو با مطالب صد تا يک غاز پر کنند باشه، ولي به همون اندازه فشردن دکمه Forward راحته. دوم اينکه دست کم چرندياتي که Yahoo و امثال آن به ابتدا و انتهاي email اضافه ميکنند رو حذف کنيد. با انجام ندادن همين کار ساده نشون مي ديد که يا توانايي و دانشش رو نداريد يا تنبل هستيد يا هيچ ارزشي براي طرف گيرنده قايل نيستيد. هيچ کدوم از اين ها نشان از شخصيت والايي نداره!
    اگر مطلبي که براي کسي forward مي کنيد احتياج به توضيح داره، اين توضيح رو قبل از متن forward شده بنويسيد و امضا کنيد. اگر همه مطلبي که براي شما فرستاده شده رو عيناً forward نمي کنيد، حتماً اين موضوع رو ذکر کنيد!
  7. پاسخ: ساده ترين اشتباهي که خيلي ها مرتکب مي شوند اينه که جوابشون رو بالاي نامه اي که براشون فرستاده شده مي نويسند و کل متن نامه اصلي رو هم زير متن خودشون اضافه مي کنند! کمي به اين موضوع فکر کنيد! اگر اين نامه چند بار بره و برگرده به چه وضعي در مي ياد! هميشه اگر مي خواين متن اصلي رو هم در پاسخ خودتون بگنجونيد (به صورت تقريباً کامل) بايد اون رو ابتدا بياريد و بعد جواب خودتون رو بنويسيد. بهتره sig block ها و تبليغات و اين چيزها رو هم کاملاً حذف کنيد.
    يک راه ديگه اينه که اگر نامه دريافتي چند قسمت منطقي داره، جواب هر قسمت رو جداگانه بعد از همون قسمت بديد (اينجاست که اگر نويسنده اول اصول نگارش و پاراگراف بندي رو رعايت نکرده باشه وضع karmaش حسابي خراب ميشه!
    به اينکه جواب شما به کجا ميره خيلي دقت کنيد. اگر نامه اول چند تا گيرنده داشته باشه يا به يک گروهي چيزي ارسال شده باشه، احتمالاً بايد از امکانات “Reply to All” يا “Reply to List” يا اين جور امکانات که خيلي از mailer ها دارند استفاده کنيد يا حتي دستي يک آدرس رو تايپ کنيد (واي خداي من! چه مصيبتي!)
  8. قالب و زبان: خواهش مي کنم اگر زبان انگليسي تون خوب نيست سعي نکنيد به انگليسي بنويسيد. مگر فارسي چه اشکالي داره؟ (به هر حال من که به غير از اين دوتا زبان ديگه اي بلد نيستم.) لطفاً تحت هيچ شرايطي به فينگليش چيزي ننويسيد مگر اينکه شما يا طرفتون اصلاً انگليسي بلد نباشيد و به هيچ روشي نتونيد فارسي رو با format قابل تحمل بنويسيد.
    تا جايي که مي تونيد نامه هاتون رو متن ساده (در مقابل rich text يا HTML) بنويسيد ولي نوشتن در قالب HTMLاي که استاندارد باشه و کورکننده و کشنده سلولهاي مغزي نباشه اصلاً کار بدي نيست.
    حتماً حتماً از يکي از encoding هاي UNICODE استفاده کنيد. UTF-8 رو به شدت توصيه ميکنم (مگر اينکه بخوايد متن ژاپني بنويسيد.) شما رو به هر خدايي که مي پرستيد قسم مي دم که از Windows-1256 و ساير اين مزخرفات دست برداريد و بگذاريد اين آشغالها منقرض شند. خواهش مي کنم!

فعلاً اين ليست باشه تا بعداً (احتمالاً به کمک comment هاي احتمالي ديگران) کاملش کنم.

VN:F [1.9.13_1145]
Rating: 7.8/10 (4 votes cast)
VN:F [1.9.13_1145]
Rating: +1 (from 1 vote)