An IT fresh grad’s diary

အလုပ် စဝင်ခဲ့တာ ဘာလိုလိုနဲ့ နှစ်လနှင့်တစ်ပိုင်း ရှိခဲ့ပြီပေါ့။ အစပိုင်းကတော့ ဖြစ်မှ ဖြစ်ပါ့မလားလို့ စိုးရိမ်ခဲ့ပေမယ့် တဖြည်းဖြည်းနဲ့ အသားကျလာခဲ့ပြီ။ တစ်နေ့ ရှစ်နာရီ စားပွဲတစ်လုံးမှာ ငုတ်တုတ်ထိုင်ပြီး ကွန်ပျူတာ မော်နီတာကို ထိုင်ကြည့်နေရတဲ့ ပေမယ့် ကိုယ်ရွေးချယ်ခဲ့တဲ့ အလုပ်ဆိုတော့ probably နောက် နှစ်အနည်းငယ်လောက်တော့ ဒီအတိုင်းဘဲ သွားရဦးမှာဘဲ။ သူများတွေက မေးကြတယ် ပျော်လား။ အလုပ် အဆင်ပြေလား တဲ့။ ပျော်တယ်တော့ မဟုတ်ပေမယ့် မပျော်စရာတော့ မရှိပါဘူး။ ကိုယ်တကယ်စိတ်ဝင်စားတဲ့ အရာတွေကို လုပ်နေရတယ်ဆိုတာတော့ သေချာသလောက်ရှိပါတယ်။

ပထမဆုံးလုပ်ရတဲ့ ပရောဂျက်ကတော့ နောက်ဆုံး phase ရောက်နေပြီ။ software development မှာ အခက်ဆုံးက ဘာလဲဆိုတော့ client နဲ့ developer အကြားက နားလည်မှုဘဲ။ အခု ပရောဂျက်မှာ client တွေက ဆရာဝန်တွေဆိုတော့ သူတို့ ပြောတာ ကိုယ်နားမလည် ကိုယ်ပြောတာ သူတို့ မရှင်း ဖြစ်နေတယ်။ meeting ထိုင်ပြီဆိုရင် သူတို့က ပြောပြီး ကိုယ်က နားထောင်နေရတာ များတယ်။ လူဆယ်ယောက်လောက် တစ်ပြိုင်တည်း စကားပြောပြီး ငြင်းနေတာကို နားထောင်ဖူးလား။ အဲဒါကို meeting လို့ခေါ်ပါသည်။ အပါတ်တိုင်းလိုလို meeting လုပ်တယ်။ တစ်ခါလုပ်ရင် ၄နာရီလောက်ကြာတော့ မီးတင် တစ်ခါပြီးရင် ခေါင်းတွေဘာတွေ မူးပြီတော့ ရူးချင်ချင်တောင် ဖြစ်လာတယ်။ experience ဆိုတာ ဒီလို ခေါင်းအရှုပ်ခံပြီး ယူရတာနေမယ်။

ဒီ quote လေးကိုတောင် သတိရသွားတယ်။
“Programming today is a race between software engineers stirring to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning.”

ကိုယ်လုပ်နေတာ idiot-proof programs ဖြစ်နေပြီလားလို့။

ပြီးတော့ လူ့အလို နတ်မလိုက်နိုင် ဆိုသလိုဘဲ client အလို programmer မလိုက်နိုင် လို့ ဆိုရမလို ဖြစ်နေပြီ။ သူတို့က programmer တွေကို မှော်ဆရာလို့ ထင်နေကြတယ်။ သူတို့ စိတ်ကြိုက် system တစ်ခုထွက်လာအောင် အပ်ချလောင်းလို့ လုပ်ပေးနိုင်မယ်လို့ ထင်နေတယ်။ ဟိုနားပြင်ခိုင်းလိုက် ဒီနားပြင်ခိုင်းလိုက် additional requirement ထည့်လိုက်နဲ့ software development လောကကြီးက ဒီလိုဘဲလား။ ရေးထားတာတွေလည်း တောင်ရောက်မြောက်ရောက် ဖြစ်ကုန်ပြီ။ တတ်နိုင်တော့ဘူး။ ဒါကြောင့်လည်း အရင်က ပရိုဂရမ်မာတွေ ပြောခဲ့တာပေါ့။
“My software never has bugs. It just develops random features.” တဲ့။
ကြိုက်တယ်။ rolleyes

Rapid KL 万岁!

Yesterday is not my day.. Got so upset with LRT train which took me about one hour and 45 minutes to arrived back at my home instead of the normal time - 35 minutes. It was raining cats and dogs in KL yesterday evening; hence I decided to set off from office a bit late. By the time I arrived at the station, I realized everyone might have had the same thought as me, seeing the long queue. All the train schedules had been delayed; the KLCC station got so congested with the crowd plus the train-delayed announcements.

After a long wait, I finally got in to the train, but the train remained still for 5 minutes. Normally, standing 15 minutes is not a big deal but a 5 minute-standing in a sardine-packed train was the worst feeling ever. The announcement which says “Due to technical difficulties, the train will go slower” made me wanted to cry out loud. The train behaved the same manner too in the preceeding stations – Ampang Park, Damai, Dato Keramat & Jelatek.

When it arrived at Setia Wangsa Station, one staff shouted “Semua Keluar!!!!!” (which means Everyone get out). With that frightening command, the train had been emptied within a minute, and it proceed its journey after leaving all of its passengers at Setia Wangsa Station. I just could’t think of the logic behind leaving all passengers just like that. Worries and frustrations appeared on everyone’s face. With great patience, all the people queued again and waited for other trains to come. Finally, I arrived home and cried out loud for a relief.


အပျင်းပြေ

Digg မှာ ဖတ်မိတာ။ သဘောကျလို့။ "How glasses affect your image" တဲ့။ (Source) ဒါကြောင့်နေမယ်။ contact lens တွေ ပေါ်လာပေမယ့် spectacle market က ဆက်လက် ရပ်တည်နေနိုင်တာ။




U-Thant



Name: U-Thant
Nationality: Myanmar
Date of birth: 22 Jan 1909
Affiliation: Third Secretary General of UN (30 November 1961 – 31 December 1971)
Memorials:
  1. U Thant Peace Award
  2. Jalan U Thant (Kuala Lumpur, Malaysia)
  3. U Thant island (East River, New York)
More about U-Thant (Link, Wikipedia)


ဒီနေ့ သွားရင်းလာရင်း Jalan U-Thant ကနေ ဖြတ်တော့ သတိရသွားလို့ပါ။ မြန်မာလို ဦးသန့်(သူတို့အခေါ် ယူသန့်။ Jalan ဆိုတာ မလေးရှားစကားနဲ့ လမ်းကို ခေါ်တာ။ ) ဒီနေ့ အကြောင်းတစ်ခုခုကြောင့် အဲဒီလမ်းမှာ သုံးလေးပါတ်လောက်ပါတ်နေတော့ သတိမရဘဲ မနေနိုင်ဖြစ်သွားတာ။ ပြီးတော့ အဲဒီ အနီးအနားတစ်ဝိုက်မှာဘဲ U-Thant Residences ဆိုပြီး construction site တစ်ခုကိုလည်း တွေ့လိုက်တယ်။ ဒါပေမယ့် အဲဒီအနီးအနားတစ်ဝိုက်က လူတွေကိုမေးကြည့်။ ၁၀ဝ မှာ ၉၉ ယောက်က ဦးသန့်ဘယ်သူလည်း မသိကြဘူး။ သူငယ်ချင်းတစ်ယောက်ပြောပြတာကို သွားသတိရတယ်။ တစ်ခါက နိုင်ငံတကာ ဉာဏ်စမ်း ပြိုင်ပွဲရှိတယ်တစ်ခုမှာ final round ရောက်တော့ U-Thant ဆိုတာ ဘယ်နိုင်ငံကလဲဆိုတဲ့ မေးခွန်းကို ဘယ်သူမှ မဖြေနိုင်ကြဘူးတဲ့။ တစ်ယောက်ကတော့ တော်တော်လေး စဉ်းစားလိုက်ပြီးတော့မှ အိန္ဒိယကလို့ ဖြေသတဲ့။ တော်တော်ခက်တဲ့မေးခွန်းတွေဖြေပြီး final round တက်သွားပြီး အဲဒီမေးခွန်းရောက်မှ ထစ်သွားကြတယ်။ ဟုတ်တော့ ဟုတ်ပါတယ်။ ကိုယ့်ကို ဘန်ကီမွန်း၊ ကိုဖီအာနန်၊ ဘူးထရို့စ်ဂါလီ မတိုင်ခင်က လူရဲ့ နာမည် လာမေးလဲ သိမှာတော့ မဟုတ်ဘူး။ Jalan U-Thant ကနေ စတဲ့ ဇာတ်လမ်း အဲဒီမှာဘဲ ပြန်အဆုံး သတ်ရမယ်။ ဒီ ဂျလန် ဦးသန့် ဆိုတာ ကမာ္ဘပေါ်မှာ ဦးသန့်ကို ဂုဏ်ပြုမှည့်ခေါ်ထားတဲ့ သုံးခုတည်းသော အမှတ်တရထဲက တစ်ခုပေါ့။ ဘာရယ် မဟုတ်ပါဘူး။ ဒီလိုဘဲ ရှာကြံပြီး ဂုဏ်ယူရတယ်ကွယ်။



HANDPHONE GOT STOLEN

My hand phone got pick-pocketed yesterday on KTM train around 6:30 PM. With the great system of Holink, I could be able to recover my lost SIM card in less than half an hour (now I know the value of registering pre-paid card numbers). But all my contact list can’t be recovered. So, if I asked “may I know whom am I speaking to?” when you happen to call me, please don’t get me wrong. I really have lost all the contact list.

This is my first time ever in life that my thing got stolen by a pickpocket. I should just blame myself for being too careless. Yesterday, I went to midValley for movie - National Treasure II. After departing with my friend who has to go back to Cheras, I took KTM alone to come back. When the train arrived at the KL Central Station, I could feel something just leave my bag. I saw all three zips (of three compartments of bag) were opened when I checked it, the hand phone was gone but my wallet was still there. I think the train probably stopped before the pickpocket could reach my wallet which was in the other compartment of my bag. I would say it’s a lucky thing out of an unlucky event. It’s easier to get a hand phone back compare to calling the bank to block the ATM card, re-applying the immigration card, etc etc. (Actually there’s only RM 12 left in my wallet.) The blame should be on my habit of wearing the bag at the back which makes it so easy any picket pocket to get an eye on it.


I felt like I saw that pick-pocket, but since all people were rushing out of the train, he easily got lost from my sight in that big crowd. If I were with a friend, at least I could be able to call my number immadiately, maybe I could recognize my ringtone. So, if you were me, what would you have done? Calling out for help? Shouting at that place? Crying around? I know no one would care. Sigh.. cry
Goodbye SE K608i...
----------------------------------------------------------------------------------------------------------------
How to disable a STOLEN mobile phone? (from a forwarded email)

To check your Mobile phone's serial number, key in the following digits on your phone: * # 0 6 #

A 15 digit code will appear on the screen. This number is unique to your handset. Write it down and keep it somewhere safe. When your phone gets stolen, you can phone your service provider and give them this code. They will then be able to block your handset so even if the thief changes the SIM card, your phone will be totally useless. You probably won't get your phone back, but at least you know that whoever stole it can't use/sell it either. If everybody does this, there would be no point in people stealing mobile phones.



PROGRAMMING AND ME

အခုရေးမယ့် အကြောင်းအရာတွေက မကြာသေးခင်ကမှ computer science နဲ့ ကျောင်းပြီးထားပြီး IT လောကထဲ ရောက်ခါစ junior programmer တစ်ယောက်ရဲ့ အတွေ့အကြုံနဲ့ အမြင် သက်သက်ပါ။

၂၀၀၂ - လွန်ခဲ့တဲ့ ၆နှစ် computer college စတက်ကာစတော့ C, C++ နဲ့ စခဲ့တာပေါ့။ အဲဒီ အချိန်က အင်တာနက်ဆိုတာကလည်း လက်လှမ်း မမှီသေးတော့ IT world မှာ ဘာတွေ ဖြစ်နေတယ် ဆိုတာ ကို သိလည်း မသိခဲ့ဘူး။ စိတ်လည်း သိပ်မဝင်စားခဲ့ဘူး။ (ဘာကြောင့် IT ယူခဲ့သလဲဆိုတာတော့ ပြောရရင် အရှည်ကြီးဘဲ။ တိုတို ပြောရရင် အဲဒီအချိန်မှာ လူတိုင်းက IT… IT… ဆိုတော့ နည်းနည်း စိတ်ပါသွားတာပေါ့။) C, C++ ရဲ့ logic တွေကို သိပြီး compile လုပ်လို့ run သွားရင်ဘဲ ပျော်နေခဲ့တယ်။


၂၀၀၃ - Visual Basic ကိုတော့ သင်တန်း တက်ခဲ့ဖူးပေမယ့် သိပ်စိတ်မဝင်စားခဲ့ဘူး။

၂၀၀၄ - နောက် university ရောက်တော့ HTML, CSS, JavaScript အခြေခံတွေကို သင်ရတယ်။ အမှန်တော့ အဲဒီ HTML, CSS, JavaScript တွေကို programming languages လို့တော့ မခေါ်ဘူး။ (ထားလိုက်ပါ။ off-topic ဖြစ်သွားဦးမယ်။) ဒီလိုနဲ့ဘဲ ဒုတိယနှစ်ရောက်လာတဲ့အခါ database programming ဆိုပြီ SQL နဲ့ စတင် ရင်းနှီး ခဲ့ရတယ်။ ကျောင်းစာအပြင် တစ်ခြားစာတွေ ဘယ်လောက်ဖတ်သလဲဆိုရင် အဲဒီအချိန်အထိ C++ ရယ် HTML ရယ် SQL ရယ်ဟာ ပြဒါးတစ်လမ်း သံတစ်လမ်းလို့ဘဲ ထင်ထားတာ။
artificial intelligence အတွက် PROLOG သင်ရတော့ AI ဘက်ကို နည်းနည်း လိုင်းကြောင်းမလိုလိုတောင် ဖြစ်ခဲ့သေးတယ်။ နောက်တော့လည်း မေ့မေ့ပျောက်ပျောက်ဘဲ။ ခက်တာကိုး။

၂၀၀၅ - JAVA ဆိုတာ coffee နဲ့ ကျွန်း သာမဟုတ်ဘဲ programming language တစ်မျိုးလည်းဖြစ်တယ် ဆိုတာ သိလာတဲ့ အချိန်မှာတော့ SQL ကို ဘာကြောင့် သင်ခဲ့ရတယ်ဆိုတာ နည်းနည်း သဘောပေါက်သလို ရှိလာတယ်။ ဒုတိယနှစ် ပြီးခါနီးမှဘဲ Java နဲ့ SQL ကို JDBC နဲ့ ချိတ်ပြီး application ပိစိ တစ်ခုကို ဖြစ်မြောက်အောင် လုပ်ဖူးတော့တယ်။

အဲဒီမှာ programming ပိုးက နည်းနည်းဝင်သွား တော့တာဘဲ။ training တွေ လိုက်တက် ပြိုင်ပွဲလေးတွေ ရှိရင် ဝင်ပြုင်နဲ့ C++ နဲ့ Java ဘက်ကို ပြန်ရောက်သွားတယ်။ ၂၀၀၅ လောက်မှာ ACM-ICPC ဆိုတဲ့ ACM နဲ့ IBM က sponsor လုပ်တဲ့ ပြိုင်ပွဲအကြောင်း ကြားဖူးလာတယ်။ ကျောင်းမှာ ACM-ICPC regional အတွက် training ပေးတော့ တက်ဖြစ်ခဲ့တယ်။ အဲဒီမှာ programming အပေါ် အမြင် တစ်မျိုးပြောင်းသွားခဲ့တယ်။ Programming ကို အရမ်း စိတ်ဝင်စားတယ် ဆိုရင် ACM-ICPC problems set တွေကို download လုပ်ပြီး solve လုပ်ကြည့်ပါ။ (သူ့ problem set တွေက အများအားဖြင့် maths နဲ့ logic problem တွေ များပါတယ်။ တစ်ခု ထူးခြားတာက သူ့ rules မှာ problem တစ်ခုကို solve လုပ်ပြီး program ရေး run ပြီးလို့ အဖြေထွက်ရုံနဲ့ မပြီးပါဘူး။ memory usage နဲ့ run-time limit တွေ သတ်မှတ်ထားလို့ အဖြေမှန်တိုင်းလည်း အမှတ်မရနိုင်တာက သူ့ရဲ့ challenge ပါ။) လေးလလောက် လေ့လာဖြစ်ပြီး ကျောင်းက trainer အခက်အခဲကြောင့် ACM ရောဂါက အဲဒီမှာ ဘဲ တစ်ခန်း ရပ်သွားခဲ့တယ်။

၂၀၀၆ - ကွန်ပျူတာကျောင်းသား သက်တမ်းကလည်း နည်းနည်း ရလာပြီဆိုတော့ ကြားဖူးသမျှ language တွေကို လိုက်ဖတ်ဖြစ်ခဲ့တယ်။ Flash actionscript, Shell script, XML, AJAX ဟိုစပ်စပ် ဒီစပ်စပ်ပေါ့။ တတိယနှစ်ရောက်လာတော့ web-programming ဆိုပြီး ဘာသာရပ်တစ်ခုကို ယူရတယ်။ အဲဒီမှာ PHP နဲ့ mySQL ကို သင်ပြီးမှဘဲ ဟိုစပ်စပ် ဒီစပ်စပ် လုပ်တဲ့ အလုပ် ခဏရပ်သွားတယ်။ Dreamweaver လို IDE ကောင်းကောင်းတွေ ရှိနေပေမယ့် ဘာကြောင့် HTML codes တွေကို ကောင်းကောင်းသိသင့်တယ်ဆိုတာလည်း သဘောပေါက်လာတယ်။

၂၀၀၆ အကုန် ၂၀၀ရ အစ - Final year first sem မှာ training ဆင်းရတယ်။ training အတွက် လိုက်လျှောက်တုန်းကတော့ ASP.NET မတတ်ဘူးဆိုလို့ အလုပ်မခန့်ချင်တဲ့ ကုမ္ပဏီက ခပ်များများရယ်။ နောက်ဆုံး တကယ်လုပ်ဖြစ်တဲ့ ကုမ္ပဏီမှာကြတော့လည်း ASP.NET (C#) နဲ့ ရေးနေတဲ့ project အောက်မှာ သင်ယူရင်း လေ့လာရင်း ငါးလပြီးသွားခဲ့တယ်။

၂၀၀၇ - ကျောင်းမှာ assembly language ကို သင်ရတယ်။ machine language ဆိုတော့ တွေ့ဖူးသမျှ ထဲမှာ အခက်ဆုံးဘဲ။ Cနဲ့ ရေးရတဲ့ code ၅ကြောင်းလောက်ကို assembly language နဲ့ အကြောင်း ၂ဝ လောက် ရေးရတယ်။ assembly language နဲ့ C နဲ့ ပေါင်းပြီး embedded system programming သင်ရတဲ့အခါကြမှ ဘာကြောင့် ဒီလောက်ခက်တဲ့ data structures တွေ သင်ခဲ့ရသလဲဆိုတာ နားလည်တော့တယ်။

Final year final semester မှာတော့ web-programming ဘာသာရပ် နောက်တစ်ခု ဖြစ်တဲ့ JSP, Servlet, JavaBean စတဲ့စတဲ့ Java web programming ကို သင်ရတယ်။ အဲဒီတော့ ကျမသိတဲ့ web-programming သုံးမျိုး (PHP ရယ်၊ ASP.NET ရယ်၊ JSP ရယ်) ကို ယှဉ်ကြည့်မိတယ်။ ဘယ်ဟာအကောင်းဆုံးလဲဆိုတာတော့ အခုချိန်ထိ ဘယ်သူမှ ပြောလို့ မရသေးဘူး။ ဘာလို့လဲဆိုတော့ အားလုံးက သူ့ကောင်းကျိုးဆိုးကျိုး ကိုယ်စီ ရှိကြလို့ဘဲ။

Final year project အတွက် simulation တွေ ရေးဖို့ TCL/TK scripting တွေကိုလည်း မထင်မှတ်ဘဲ လေ့လာဖြစ်သွားတယ်။ (ကိုယ့်ဒုက္ခ ကိုယ်ရှာမိတာဘဲ။) simulation output တွေဖြစ်တဲ့ text file တွေကို process လုပ်ဖို့ AWK scripting ကိုလည်း နည်းနည်း ပါးပါး သိလာတယ်။ SUSE ကိုသုံးဖြစ်တာများတော့ open-source ဖြစ်တဲ့ Perl တို့ Python တို့ Rubyတို့ ဆိုတာကို အမြဲကြားနေပေမယ့် မလေ့လာဖြစ်ခဲ့ဘူး။ C နဲ့ C++ ကို ကောင်းကောင်းရရင် အဲဒါတွေက သိပ်အခက်အခဲ ရှိမယ်တော့ မထင်ဘူး။ သေချာတာကတော့ language တစ်ခုကို သေသေချာချာ သိထားပြီဆိုရင် တစ်ခြား language တွေကို အချိန်တိုအတွင်း လေ့လာ တတ်မြောက်နိုင်တယ်ဆိုတာဘဲ။

၂၀၀၈ - အလုပ်စဝင်တော့ ပထမဆုံးရတဲ့ project က PHP & Postgresql.. PHP framework တွေထဲက တစ်ခုဖြစ်တဲ့ CodeIgniter ကို လေ့လာနေဆဲ။

ကျမဘဝမှာ ဖြတ်သန်းဖူးခဲ့တဲ့ programming history ကတော့ ဒီလောက်ပါဘဲ။ နောက်များမှာတော့ အခွင့်အရေးရခဲ့မယ်ဆိုရင် လူတွေ ပြောပြောနေတဲ့ Ruby-on-Rails(ROR) နဲ့ project တစ်ခုလောက်တော့ လုပ်ချင်သေးတယ်။ J2ME သုံးပြီ mobile apps တွေ ရေးချင်ပါတယ်။ J2EE နဲ့ enterprise application ကြီးကြီး လုပ်တဲ့ team ထဲက တစ်ယောက်လည်း ဖြစ်ချင်တယ်။ Assembly နဲ့ embedded systems တွေကိုလည်း program လုပ်ချင်သေးတယ်။ အရင်ကလည်း ဟိုစပ်စပ် ဒီစပ်စပ် နောက်လည်း ဟိုစပ်စပ် ဒီစပ်စပ် လုပ်ချင်နေဦးမယ်လို့ ထင်တာဘဲ။

အမှန်တော့ ဒီလို ဟိုမရောက် ဒီမရောက် ဖြစ်နေသေးတာ ကောင်းလား မကောင်းဘူးလားတော့ ကျမ မပြောတတ်ဘူး။ ဒါပေမယ့် language အများကြီးကို နည်းနည်းစီဘဲ သိတာနဲ့စာရင် language နည်းနည်းလေးကို အများကြီးသိတာကတော့ ပိုကောင်းတာပေါ့။

~Happy Programming~



TELEMARKETER

I really dislike telemarketing. I have no idea how the telemarketers get my hand phone number, do they just randomly pick up and arrange any 7 digits? Usually I would try at my wits end to avoid them.

This morning, I received a call from an unknown number.
Caller: 请问你会讲华语吗? (Can you speak Mandarin? –she asked in Chinese-)
Me: No I can’t.
Caller: Okay, sorry. Thank you.
I perceived the call was from a telemarketer thus I try to avoid it. But to rethink back, doesn't the conversation sounds a bit funny? She should have had been confused that if I don’t know Mandarin, then why would I answer “No”. It’s just like someone ask you “Are you asleep?” and you answer “yes”. -lol-