အခန်း (၃၆)။ ဒေဗိုလော့ပါ ကွန်ဖရင့် (Developer Conference)
တနင်္ဂနွေနေ့ မနက်ခင်း။
ကန်ဝူဆောင်းက ညည်းသံလေးနဲ့အတူ နိုးထလာခဲ့သည်။
"...မနေ့ညက တော်တော်သောက်မိတာပဲ။"
သူ့အိပ်ရာဘေး စားပွဲတင်ခုံပေါ်မှာ အမေဖြစ်သူ ချန်ထားပေးခဲ့တဲ့ ပူပူနွေးနွေး ပျားရည်ခွက်ကို လှမ်းယူလိုက်သည်။ ထထိုင်ပြီး တစ်ကျိုက်တည်း မော့သောက်ချလိုက်ရာ ချက်ချင်းပင် သက်သာရာရသွားသလို ခံစားလိုက်ရသည်။
"ဟူး၊ လူငယ်ဆိုတော့လည်း ကောင်းတာပဲကွာ။"
အသက် ၂၆ နှစ်။
သာမန်ပျားရည်ရည်စိမ့်စိမ့်လေးနဲ့တင် သူ့ရဲ့ဘန်းကုပ် (Hangover) ကို ဖြေဖျောက်နိုင်နေပြီ။ ကန်ဝူဆောင်းက မနေ့ညက ဖြစ်ပျက်ခဲ့သမျှကို ပြန်စဉ်းစားမိလိုက်သည်။
ဒေါ်လာ ၁ ဒသမ ၅ ဘီလီယံ။
သူ့မျက်နှာပေါ်မှာ အပြုံးတွေက မရပ်နိုင်အောင် ဖြစ်နေရသည်။ ယခုအချိန်မှာ သူ့ကို စိုးရိမ်ပူပန်စေတဲ့ တစ်ခုတည်းသော အရာကတော့ ပြီးမြောက်အောင် လုပ်ရမည့် လုပ်စရာအလုပ်တွေရဲ့ ပမာဏပင်တည်း။
"အယ်လဂိုရီသမ် ရောင်းဝယ်ရေးစနစ်နဲ့ MQTT... လုပ်စရာတွေကလည်း အများကြီးပဲ။"
ဒါပေမဲ့ ဒီလိုကြိုးစားရကျိုးနပ်သမျှက အကုန်တန်ပါလိမ့်မည်။ သူ ရေချိုးခန်းထဲဝင်ပြီး ရေချိုးလိုက်ကာ ကွန်ပျူတာရှေ့မှာ ထိုင်ချလိုက်သည်။ တစ်ရက်တာကိုမှ အလဟဿ အضیမခံနိုင်ပါ။ သူက ကမ္ဘာပေါ်မှာ အကောင်းဆုံးဆော့ဖ်ဝဲရေးသားသူ (Developer) တစ်ယောက် ဖြစ်လာချင်သူ မဟုတ်ပါလော။ သူ လက်တွေကို ကီးဘုတ်ပေါ် တင်လိုက်သည်။
"ကဲ၊ စကြရအောင်။"
ကန်ဝူဆောင်းက သူ လိုအပ်တဲ့ သုတေသနကို စတင်လုပ်ဆောင်လိုက်သည်။
"MQTT"
"MQTT release"
"MQTT source code"
သူ တတ်နိုင်သမျှ အများကြီး ရှာဖွေကြည့်ခဲ့ပေမဲ့ ရရှိနိုင်တဲ့ အချက်အလက်က သိပ်မရှိလှပေ။ MQTT က ၂၀၁၀ ခုနှစ်မှာ လူအများသုံးနိုင်အောင် အလွတ်ထုတ်ပေးခဲ့တာ ဖြစ်ပြီး၊ ၂၀၁၁ ခုနှစ်မှာ Facebook က သူ့ရဲ့ မက်ဆေ့ချ်ပို့တဲ့ အက်ပ်မှာ အသုံးပြုပြီးမှသာ ကမ္ဘာတစ်ဝန်း ကျော်ကြားလာခဲ့ခြင်း ဖြစ်သည်။
"အင်း... ဒါဆိုရင်တော့ သုညကနေ စစိုက်ရတော့မယ်ပေါ့လေ။"
ဘယ် Developer မဆို ဒါကို လုပ်နိုင်ပါတယ်။ အထူးသဖြင့် သူလိုမျိုး အိုင်တီဗဟုသုတနဲ့ အတွေ့အကြုံ ၁၀ နှစ် ရှိတဲ့သူအတွက် ပိုတောင်လွယ်သေးသည်။
'ဒါပေမဲ့ ဘယ်လိုလုပ်ရင် မြန်ဆန်ပြီး အပြစ်အနာအဆာကင်းအောင် လုပ်နိုင်မလဲ?'
ကန်ဝူဆောင်း စဉ်းစားခန်းဝင်လိုက်သည်။
သူ့အချိန်တွေအားလုံးကို ဒီပရောဂျက်တစ်ခုတည်းပေါ်မှာ တင်မထားနိုင်ပါ။ စက်တင်ဘာလမတိုင်မီ အယ်လဂိုရီသမ် ရောင်းဝယ်ရေးစနစ်ကို ပြီးအောင် လုပ်ရပါမည်။ အကယ်၍ ကိုးကားစရာ ကုဒ် (Reference code) တစ်ခုခုသာ ရှာတွေ့နိုင်မယ်ဆိုရင် အရာရာ ပိုမြန်ဆန်သွားလိမ့်မည်။ ရုတ်တရက် ကန်ဝူဆောင်း တစ်ခုခုကို သတိရသွားသည်။
"Apache ActiveMQ လား?"
Apache ActiveMQ။
MQTT လို့ပဲ Apache ActiveMQ ကလည်း publish-subscribe ပုံစံနဲ့ ဖြစ်သည်။ အတိုကောက်အားဖြင့် Pub/Sub လို့ခေါ်ပြီး ၎င်းသည် ထုတ်လွှင့်သမျှ ဆက်သွယ်ချက်မှန်သမျှကို စာရင်းသွင်းထားသူ (Subscribers) အားလုံးက ချက်ချင်းလက်ခံရရှိစေမယ့် မက်ဆေ့ချ်ပေးပို့မှု ပုံစံတစ်ခု ဖြစ်သည်။ Android နဲ့ iPhone နှစ်ခုစလုံးအတွက် အလားတူစနစ်မျိုးကို အသုံးပြုကြသည်။
ထိုမျှသာမက၊ Apache ActiveMQ က အခမဲ့ အသုံးပြုလို့ ရနိုင်သေးသည်။
ကန်ဝူဆောင်းက အင်တာနက်ပေါ်မှာ သင့်လျော်တဲ့ ကုဒ်ကို ရှာတွေ့ခဲ့ပြီး MQTT ပရိုဂရမ်ကို စတင်ဖန်တီးတော့သည်။
တက်။
တက်။
တက်။
သူ့အခန်းထဲမှာ ထွက်ပေါ်နေတာက ကီးဘုတ်ခလုတ်နှိပ်သံတွေသာ ဖြစ်သည်။ ကန်ဝူဆောင်းက သူ့အခန်းထဲက မထွက်မချင်း သူ့ကို လာမနှောင့်ယှက်ကြဖို့ မိဘတွေကို ကြိုပြောထားခဲ့သည်။ သူ အာရုံစိုက်မှု မပျက်ချင်ပေ။
ဗျစ်။
ဗျစ်။
သူ့ဖုန်း တုန်ခါလာသော်လည်း ကန်ဝူဆောင်း လျစ်လျူရှုထားလိုက်သည်။ နောက်ထပ် နာရီအနည်းငယ်ကြာတော့မှ ကန်ဝူဆောင်း လက်တွေကို ဆန့်တန်းလိုက်ပြီး ထရပ်လိုက်သည်။
"ဟူး... အလုပ်တော်တော်များများ ပြီးသွားပြီထင်တယ်..."
သူ့ရဲ့ တိုးတက်မှုကို စစ်ဆေးကြည့်လိုက်သည်။ နေ့လယ် ၃ နာရီပဲ ရှိသေးပေမဲ့ အလုပ်ရဲ့ ၃၀ ရာခိုင်နှုန်းလောက် ပြီးစီးသွားခဲ့ပြီ ဖြစ်သည်။ အရာရာက သူမျှော်လင့်ထားတာထက် ပိုမြန်ဆန်စွာ ပြီးမြောက်နေသည်။ Apache ActiveMQ က အကူအညီအကြီးကြီး ဖြစ်စေခဲ့ပေမဲ့ အဓိကကတော့ ကန်ဝူဆောင်းရဲ့ ဒေါသနဲ့ ပြင်းပြတဲ့ ဆုံးဖြတ်ချက်တွေကသာ အကြီးမားဆုံး တွန်းအားတွေ ဖြစ်ခဲ့တာပေတဲ။
"အား... ကျောတွေ ကိုက်လိုက်တာ။ အားကစားုံ (Gym) ဝင်ပြီး ကိုယ်လက်လှုပ်ရှားမှု စလုပ်မှ ဖြစ်မယ်။"
ကန်ဝူဆောင်းရဲ့ ဖုန်းက ထပ်ပြီး မြည်လာပြန်သည်။ ပက်ဂျွန်ဝူ ထံမှ ဖြစ်သည်။ ဖုန်းခေါ်ဆိုမှု မှတ်တမ်းကို လှမ်းကြည့်လိုက်တော့ လွဲချော်သွားတဲ့ ဖုန်းခေါ်ဆိုမှု (Missed calls) ၉ စောင် ရှိနေတာကို တွေ့ရသည်။ ပက်ဂျွန်ဝူ နဲ့ ယွန်ဂီဟွမ်တို့ဆီက ဖြစ်သည်။ ရုတ်တရက် ဖုန်းက တစ်ဖန် ပြန်မြည်လာပြန်သည်။
"ယော်ရုမ်းလား?"
***
ချာယော်ရုမ်း။
သူတို့နှစ်ယောက်ကတော့ တစ်ယောက်နဲ့တစ်ယောက်ရဲ့ ပထမဆုံး အချစ်ဦးတွေ ဖြစ်ကြသည်။ ၆ လလောက်သာ တွဲခဲ့ကြပေမဲ့ အလွန်တရာ မှတ်တမ်းဝင်စရာ ကောင်းခဲ့သည်။ ကန်ဝူဆောင်းက သူမပြီးနောက် အခြားသော မိန်းကလေးအချို့နဲ့ ထပ်တွဲဖူးပေမဲ့ ဘယ်သူ့ဆီကမှ ဒီလိုမျိုး ခံစားချက်မျိုးကို တစ်ခါမှ မရခဲ့ဖူးပေ။
သို့သော်လည်း ပထမဆုံး အချစ်က ဘယ်တော့မှ အဆုံးထိ မရောက်တတ်ကြပါ။ အခုတော့ အဲ့ဒါကို လွှတ်ပေးရမယ့် အချိန်ရောက်ပါပြီ။ သူတို့မှာ ပျော်စရာ အချိန်တွေ ရှိခဲ့သလို နာကျင်စရာ အချိန်တွေလည်း ရှိခဲ့ဖူးသည်။ သူတို့ လမ်းခွဲခဲ့ကြရခြင်းမှာလည်း အကြောင်းရင်း ရှိခဲ့ပါတယ်။
ဖုန်းမြည်သံ တိတ်သွားတဲ့အထိ သူ လျစ်လျူရှုထားလိုက်ပေမဲ့ မကြာခင်မှာပဲ နောက်တစ်ကြိမ် ထပ်မြည်လာပြန်သည်။ ဒီတစ်ခါတော့ ပက်ဂျွန်ဝူ ဆီက ဖြစ်သည်။ ပက်ဂျွန်ဝူ ဘယ်လောက်အထိ ဇွဲကောင်းတတ်တယ်ဆိုတာ ကန်ဝူဆောင်း ကောင်းကောင်း သိသည်။
ဖုန်းကို ကိုင်လိုက်တာနဲ့ ပက်ဂျွန်ဝူ က ချက်ချင်း အော်ပြောလေတော့သည်။
"ဘာလို့ ဖုန်းမကိုင်တာလဲ?" သူက စကားကို ဆက်ပြောလာသည်။ "မနေ့က မင်းပြောတယ်လေ ဘယ်အချိန်မဆို ထမင်းကျွေးမယ်ဆိုတာ။ အဲ့တော့ ဒီည ကျွေးရမယ်နော်။"
"အင်းပါ၊ အင်းပါကွာ။"
ကန်ဝူဆောင်းက ပက်ဂျွန်ဝူ အနားမှာ ရှိနေတဲ့ တခြားလူတစ်ယောက်နဲ့ စကားပြောနေတာကို ကြားလိုက်ရသည်။
"သူရမယ်တဲ့။"
"ဒါဆို ဒီကို လာခဲ့ခိုင်းလိုက်လေ။"
"မြန်မြန်လုပ်စရာ။"
"ခေါ်လိုက်လေ။"
"လုပ်စမ်းပါ!"
သူတို့အုပ်စုက တစ်ခုခုကို သဘောတူညီချက် ရသွားပုံရသည်။ ပက်ဂျွန်ဝူက သေချာဂရုတစိုက်နဲ့ မေးလာသည်။
"ငါတို့ အားလုံး အခု စာအတူကျက်နေကြတာ။ မင်း ငါတို့ရှိတဲ့နေရာကို လလာမလား? စာဘယ်လိုကျက်ရမလဲဆိုတဲ့ အကြံဉာဏ်လေးတွေ ပေးလို့ရတာပေါ့။ ချန်ဂျောင် လည်း သိချင်နေတယ်။ မင်း သူ့ကို ကျေးဇူးတင်စရာ ရှိသေးတယ်လေ၊ မှတ်မိသေးလား?"
"ချန်ဂျောင်က ငါ့ကို ကျေးဇူးတင်စရာရှိတယ်လို့ ဘယ်တော့မှ ပြောမှာ မဟုတ်ဘူး။ မင်း ဖန်ပြောနေတာ မဟုတ်လား?"
...မဟုတ်ရပါဘူး။ ချန်ဂျောင်က ဒီမှာ ရှိနေတယ်။ မင်း သူနဲ့ စကားပြောချင်လား?"
"မလိုပါဘူးကွာ။ မင်းတို့ ဘယ်မှာလဲ?"
ယွန်ဂီဟွမ် (မှတ်ချက် - မူရင်းတွင် ချန်ဂျောင် ဟု ဖော်ပြထားသော်လည်း အခြေအနေအရ ယွန်ဂီဟွမ် ဖြစ်နိုင်သည်) က အတိတ်မှာ သူ့ကို အများကြီး ကူညီပေးခဲ့ဖူးတာကတော့ အမှန်ပင်။ ကန်ဝူဆောင်းက ကွန်ပျူတာကို ပိတ်လိုက်ပြီး အခန်းထဲက ထွက်လာခဲ့သည်။
သူ့သူငယ်ချင်းတွေက ဂန်နမ်ဘူတာရုံအနီးတစ်ဝိုက်မှာ ရှိနေကြသည်။
တနင်္ဂနွေနေ့ နေ့လယ်ခင်း ဖြစ်တာနဲ့အညီ လမ်းတွေပေါ်မှာ လူတွေ ကျပ်ညပ်နေသည်။ ကန်ဝူဆောင်းက သူတို့ ဘယ်မှာလဲဆိုတာကို ရှာရင်း ဆက်လျှောက်လာခဲ့သည်။
"စမတ်ဖုန်းတစ်လုံးများ ရှိနေရင် သာယာမှာပဲ။"
ဂျီပီအက်စ် (GPS) မပါဘဲနဲ့ နေရာရှာဖို့ဆိုတာ လွယ်ကူလှတာ မဟုတ်ပေ။ သူ ပက်ဂျွန်ဝူ ပြောပြခဲ့တဲ့ လမ်းညွှန်ချက်တွေကို မှတ်မိဖို့ ကြိုးစားရင်း ပတ်ဝန်းကျင်ကို လှည့်ပတ်ကြည့်နေမိသည်။
"စူပါမားကတ်ထောင့်ကို ကွေ့ပြီးရင် ဘလောက်အဆုံးအထိ ဆက်သွား..."
နောက်ဆုံးတော့ သူ ‘Successful Studying’ လို့ အမည်ပေးထားတဲ့ နေရာကို တွေ့လိုက်ရသည်။ ပင်မတံခါးဝရှေ့မှာတော့ ယန်ဂျុងဆုက ဆေးလိပ်သောက်နေသည်။ ကန်ဝူဆောင်းက သူ့နာမည်ကို မသိတာကြောင့် လျစ်လျူရှုပြီး လျှောက်သွားလိုက်ပေမဲ့ ယန်ဂျុងဆုက ကန်ဝူဆောင်းကို မှတ်မိသွားပြီး လှမ်းခေါ်လိုက်သည်။
"ဟေ့ကောင်။"
"ငါ့ကိုလား?"
"ယော်ရုမ်းနဲ့ ပြန်ပေါင်းဖို့တောင် စိတ်တောင် မကူးနဲ့။"
သူကတော့ ရယ်စရာကောင်းလိုက်တာ။ ဒီကောင် ဘာဖြစ်နေတာလဲ?
"ဘာလဲ?"
ယန်ဂျុងဆုက ဆေးလိပ်တိုကို ပစ်ချလိုက်ပြီး ပြန်ပြောသည်။ "ငါ့ကို အဲ့ဒါကို ထပ်ခါထပ်ခါ ပြောခိုင်းမနေနဲ့။"
ပြီးတော့ သူ ဘာမှမဖြစ်ခဲ့သလိုနဲ့ စာကျက်ခန်းဆီကို တက်သွားလေသည်။ ကန်ဝူဆုာင်းက သူ့ကို ရွံရှာတဲ့ အကြည့်နဲ့ ကြည့်လိုက်သည်။
"ရူးနေတဲ့ကောင်။"
ကန်ဝူဆောင်းက အမြန်လိုက်သွားပြီး အခန်းထဲမှာ လူ ခုနစ်ယောက် ရှိနေတာကို တွေ့လိုက်ရသည်။ အချို့က ရင်နှီးနေကြသည်။ ကန်ဝူဆောင်းက တမင်တကာပဲ ချာယော်ရုမ်းဆီကို လျှောက်သွားလိုက်သည်။
"ဟားဟား၊ ငါတို့ ပြန်ဆုံကြပြန်ပြီပဲ။ ငါ ကတိပေးထားတာ ရှိတယ်လေ၊ ဒါကြောင့် ညစာထွက်စားကြရအောင်။ ယော်ရုမ်း စတိတ် (Steak) ကြိုက်တယ်လို့ ငါ မှတ်မိတယ်၊ အဲ့တော့ އިတေဝွန်က ဟိုတယ်တစ်ခုကို သွားကြရအောင်။ ငါ အဲ့ဒီက ဘူဖေးကို သွားဖူးတယ်၊ တော်တော်ကောင်းတယ်။"
ချာယော်ရုမ်းရဲ့ မျက်နှာ ရဲတက်သွားသည်။
"အော်... ဟုတ်ကဲ့။"
တ๊อก၊ တ๊อก။
ကန်ဝူဆောင်းက သူမရဲ့လက်မောင်းကို ပေါ့ပေါ့ပါးပါးလေး ဝင်တို့လိုက်သည်။ အဲ့ဒါက သူတို့နှစ်ယောက်စလုံး အရင်က မကြာခဏ လုပ်နေကျ အကျင့်တစ်ခုလို ဖြစ်နေပြီး အဲ့ဒီအချက်က ယန်ဂျុងဆုကို အလွန်အမင်း ဒေါသထွက်စေခဲ့သည်။ ဒါပေမဲ့ ကန်ဝူဆောင်းက အဲ့ဒီလောက်နဲ့ မရပ်ပေ။ သူ သူမရဲ့ နားရွက်ကို ဖွဖွလေး ထိလိုက်သည်။
"မင်းနားမှာ ဘာမှန်းမသိတာ တစ်ခုပါနေတယ်။"
ယော်ရုမ်းရော ယန်ဂျុងဆုပါ နှစ်ယောက်စလုံး မျက်နှာတွေ ပိုပြီး ရဲတက်လာကြပေမဲ့ ကန်ဝူဆောင်းက သူတို့ကို လျစ်လျူရှုပြီး ပတ်ဝန်းကျင်မှာ ရှိတဲ့ တခြားသူတွေကို နှုတ်ဆက်လိုက်သည်။ ထို့နောက် ယန်ဂျុងဆုဘက်ကို လှည့်ပြီး သူ့ကို တိုးတိုးလေး ပြောလိုက်သည်။
"ယော်ရုမ်းကို အပြင်လိုက်ခဲ့ဖို့တောင် စိတ်မကူးနဲ့၊ ရူးနေတဲ့ ခွေးကောင်။"
ဆွဲကိုင်ခြင်း။
ယန်ဂျុងဆုက သူ့ဒေါသကို မထိန်းချုပ်နိုင်တော့ဘဲ ကန်ဝူဆောင်းရဲ့ ကော်လံကို ဆွဲကိုင်လိုက်သည်။
"မင်း အခုနက ဘာပြောလိုက်တယ်?"
"ဟေ့ကောင်၊ မင်း ဘာဖြစ်နေတာလဲ?"
"ဂျុងဆု!"
"မင်း ဘာလုပ်နေတာလဲ?"
အချို့လူတွေက သူ့ကို တားဖို့ ကြိုးစားကြပေမဲ့ ပက်ဂျွန်ဝူ နဲ့ ယွန်ဂီဟွမ်ကတော့ ယန်ဂျុងဆုကို သနားတဲ့အကြည့်နဲ့သာ ကြည့်နေကြသည်။
"ငါ ကျောင်းတုန်းက စာသိပ်မကျက်ခဲ့ရပေမဲ့၊ တစ်ခုတည်းသော ကောင်းခဲ့တာကတော့..." ကန်ဝူဆောင်းက ယန်ဂျុងဆုရဲ့ လက်တွေကို ဆွဲကိုင်ရင်း ပြောလိုက်သည်။ "အဲ့ဒါ အားကစားပဲ။"
"အား...!"
ယန်ဂျុងဆု ညည်းတွားလိုက်ပေမဲ့ ကန်ဝူဆောင်းက ရပ်မသွားပေ။ သူ ယန်ဂျុងဆုရဲ့ လက်တွေကို သူ့ကိုယ်ပေါ်ကနေ ဆွဲဖယ်လိုက်ပြီး တင်းတင်းကျပ်ကျပ် ဆုပ်ကိုင်လိုက်သည်။
"ငါ အားကစားုံမှာ အရမ်းလေ့ကျင့်ဖူးတာ၊ လူတွေတောင် ငါ့ဦးနှောက်က သက်သက်လွတ် ကြွက်သားတွေနဲ့ပဲ ဖွဲ့စည်းထားတယ်လို့ စနောက်ကြသည်အထိပဲ။"
ယန်ဂျុងဆုက သူ့ရဲ့ အံ့သြမှုနဲ့ အရှက်ကွဲရမှုကို ဖုံးကွယ်မထားနိုင်တော့ပေ။ သူ ချွေးတွေ ရွှဲနစ်နေသည်။ ကန်ဝူဆောင်းက ယန်ဂျុងဆုကို တွန်းထုတ်လိုက်ရာ ကြမ်းပြင်ပေါ်ကို လဲကျသွားသည်။ သူ အောက်ကို ငုံ့ကြည့်ပြီး တိုးတိုးလေး ပြောလိုက်သည်။
"မင်း သေချာဆင်ခြင်နေတာ အကောင်းဆုံး ဖြစ်လိမ့်မယ်။"
ဝူဆောင်း၏ အပြောတွင် စစ်မှန်သော ခြိမ်းခြောက်မှုပါရှိကြောင်း အားလုံးက သိလိုက်ကြသည်။ ပက်ဂျွန်ဝူက အခြေအနေကို ထိန်းသိမ်းရန် ကြိုးစားလိုက်သည်အထိ အခန်းထဲတွင် တိတ်ဆိတ်မှုကြီး စိုးမိုးသွားသည်။
"ဝူဆောင်းရယ်၊ အဲ့လိုတော့ မလုပ်ပါနဲ့ကွာ။ သွားကြစို့။"
ယွန်ဂီဟွမ်က ထပ်ပြောသည်။
"ဝူဆောင်း..."
ဝူဆောင်းက ပခုံးကို တွန့်လိုက်ပြီး ပြန်ပြောလိုက်သည်။
"အင်းလေ၊ ဒါပေမဲ့ ဒီညတော့ ထွက်မစားဖြစ်တော့ဘူးထင်တယ်၊ တောင်းပန်ပါတယ်။"
ဝူဆောင်းက အခန်းထဲက ထွက်သွားပြီး သူတို့နောက်မှာတော့ ပက်ဂျွန်ဝူ၊ ယွန်ဂီဟွမ်နဲ့ ချာယော်ရုမ်းတို့ လိုက်ပါလာကြသည်။