Normal.
This is normal (graf untuk normal distribution).
Rajah 1: Normal
The idea is that, kalau kita ada satu sample data yang besar, dan kalau benda tu berlaku secara natural occurrence, aku boleh yakin ianya tertabur (distributed) secara normal, i.e. ianya tertabur secara normal distribution. Cuma kita kene tahu apa pembolehubah yang x-axis (yang melintang tu) dan apa pembolehubah di y-axis (yang menegak tu).
So bentuk dia, kita panggil macam bell-curved. Macam bentuk loceng. (Aku tak tau la celah mana diorang nampak benda tu loceng, tapi itulah yang digambarkan)
Classic example, kita kumpul semua orang dalam satu company yang besar dan ukur ketinggian dan kita paparkan dalam bentuk graf dimana tinggi (dalam bentuk interval macam 160 cm - 164.9 cm, 165c m - 169.9 cm) dan melawankannya dengan frequensi (bilangan orang yang ada dalam interval tinggi tersebut), nescaya kita akan dapat normal distribution tu.
So dalam probability theory, kita biasanya akan merujuk kepada area di dalam graf tersebut. Bukannya satu nilai X terus merujuk kepada apa di Y.
Ok you got the idea right?
So apa beza kiri dan kanan tu? (kita panggil sebagai tails, atau ekor). The tails, merujuk kepada yang hujung dari graf tu. Kiri dan kanan. Ianya sangat - sangat jarang berlaku, tapi still possible untuk berlaku. Possibility untuk komet jatuh ke bumi sangat - sangat jarang berlaku (ada beberapa occurance je berlaku sepanjang berbillion - billion umur bumi ni), tapi probablity dia masih lagi bukan kosong. Possible. Bukan kosong.
Rajah 2: Tail kiri dan tail kanan.
Ok. Kalau ikut example kita tadi tu, agak tak ramai yang tinggi kurang 140 cm dan tak ramai juga yang lebih dari 180 cm. Atau dengan kata lain, kalau aku pilih \( P(tinggi \leq 140 cm) \) aku akan dapat lebih kurang sama dengan \( P(tinggi \geq 180 cm) \) - berdasarkan data yang aku agak - agak hahah. Also notice of usage of \( \leq \) and \( \geq \). But this is still normal. Both of them are unlikely, but still probable. Dan mesti korang perasang yang kawan - kawan korang pon tinggi lebih kurang korang je kan??
Because it is normal. Kalau kau terlalu tinggi dan tengok takde kawan - kawan yang lebih kurang tinggi kau, it is still normal. Cuma kau berada at the tail kanan.
...
Sama jugak kalau aku pergi ke mana - mana projek. If i take a population of the project (means, bilangan project) yang besar dan aku plotkan dengan yang kiri tu yang tak kasi kerjasama sangat dan yang kanan tu kasi kerjasama sepenuhnya, aku boleh dapat graf normal macam tu. Dan kebanyakkan nya tu, yang tengah - tengah tu, mixed reaction. Normal lah kan?
Rajah 3: How kerjasama yang diberikan untuk projek - projek yang aku terlibat
Even sebelum ni pon yang aku terlibat, melibatkan politik dan basically kitorang masuk untuk sailang projek diorang dan kasi ke company lain, still masih lagi biasa - biasa je diorang dengan aku (ada yang hesitate dan ada yang comply).
Tapi ada satu projek ni, dia terlalu kasi kerjasama sangat. Sampai aku pon rasa seram.
Pelik.
Tapi tak ajaib. Ianya masih lagi dalam normal distribution. Cuma lebih ke kanan sangat.
Kenapa aku kata pelik. For once, masa kitorang datang initial discussion, kitorang terus mintak akses VPN.
Anyone yang kerja kat IT especially on large organization tau, yang VPN ni swiss army knife. Memudahkan untuk buat kerja, DAN memudahkan untuk orang menyalahgunakannya. So for yang macam graf bawah ni, usually akan hesitate untuk kasi, yang aku lorekkan lebih 95% sampai ke kiri.
Rajah 4: The left 95%
But somehow, diorang macam rilek je kasi. The most resistant dari diorang pon, diorang request untuk isi borang Non Disclosure Agreement (NDA) dan borang request untuk AD dan VPN. Tu je.
Ah. Maksud aku diorang tu, tu team network dan sekuriti. Diorang yang jaga bahagian network dan apa - apa yang berkaitan dengan sekuriti IT.
Lepas tu sama jugak masa aku request nak bawak masuk tiga bijik server ke Data Center (DC) diorang. Nak bawak masuk tiga bijik server ke DC orang lain! So ni team server lah yang bertanggung jawab. Tapi the most "heated" discussion pon, macam ni.
Them: Server - server ni siapa yang beli?
Aku: Kitorang.
Them: So siapa yang akan monitor server - server ni?
Aku: Kitorang jugak. Warranty 2 tahun. So sampai habis tu kitorang akan mantain.
Them: Lepas 2 tahun tu apa jadi.
Aku: Nanti boleh decide sama ada nak biar kat sini atau kitorang amik balik. Terpulang tengok projek ni masih on lagi atau tak.
Them: Ok. Nanti email je request nak bawak masuk server tu. Lepas tu minta sign pengarah. (and then they proceed to tell the procedure to bawak masuk server).
Aik. Awat macam senang je ni. Tak apa. Tu aku anggap je rezeki, urusan dipermudahkan. Alhamdulillah.
Then aku deal pulak dengan team aplikasi. Ok ni berat sikit. Aku nak kene mimic diorang punya login sequence. So aku pon terpaksa lah mintak flow diorang. Set satu discussion. Dalam discussion tu, diorang tunjuk la source code diorang. Lepas tu diorang tanya kat aku. "You nak tak source code ni". Gitu je.
Kan aku citer dalam post sebelum ni, mana - mana team akan hisitate nak kongsi source code diorang. Sebab diorang tak tau source code tu akan pergi ke mana. Tapi alhamdulillah, lurus betul jalan aku lalu.
Macam tu jugak masa nak deal dengan team database. Team aplikasi tolong relaykan request aku untuk minta akses ke database. Yang biasanya berakhir dengan email. "You request je nak minta akses apa, nanti kami (team database) akan buatkan".
Normal. Tapi hujung - hujung punya normal untuk perjalanan projek ni. Sampai aku rasa macam tak normal pulak.
Rajah 5: Lebih kurang macam ni la aku faham pasal operasi diorang.Also ended up, kitorang ada buat satu group whatsapp besar yang ada semua team - team tu dan ada team kami sekali. Dengan big boss kami pon ada dalam tu (Project Director, yang macam dalam org chart aku explain kat post sebelum ni)
...
Now. I'm not saying that I'm hoping to get some resistant. Tapi bak kata pepatah Melayu, "Air yang tenang jangan disangka tiada buaya". It just that, aku kene berhati - hati sebab nampak macam ada yang tak kena.. Aku tak tau mana buaya tu akan datang..
...
Projek ni berjalan la macam biasa. Normal. Ada hiccup sana - sini. Kitorang start buat development dari tengah bulan Disember 2023 dan complete development hujung bulan Disember tu.
Maka awal Januari 2024, bermulalah sesi UAT kami. UAT ni adalah sesi testing aplikasi yang kami bangunkan dengan client kami. In this case, dengan team aplikasi.
Again, this is normal (yang kat tengah - tengah tu). Ada dua cycle sahaja. Ada juga yang jalan dan tak jalan masa UAT tu. Normal.
Masa tengah UAT tu, aku discusslah dengan boss team aplikasi tu. Dia cakap kat aku. Kalau mana - mana app nak deploy ke production kat tempat diorang, kene lalu SPA dulu. Security Posture Assessment, atau SPA tu biasa dilakukan oleh internal team dari team network dan security.
And I said, ok je. We will comply. Tapi dia tambah. "Kalau diorang kata tak nak buat ke atau mengelak ke, you kasi tau je kat I. Nanti I akan terus complain ke pengarah". And my automatic response was, "eh tak perlulah macam tu. Kita try nego dulu dengan depa macam mana". Dia tambah lagi. "Tak. You mintak je. Nanti I monitor perbualan korang".
Aku terdiam. Ok now I see. The relationship between this team and another team is basically \( - \sigma \). Actually aku dah perasan pon dari sebelum ni. Kalau aku mention pasal the other team kat team lain, ada macam something macam diorang tak selesa. Cuma, well.. Me being me. Aku kalau boleh tak nak sibuk - sibuk pasal orang lain. Aku nak pastikan kerje team kami siap je.
Ok pasal SPA tu, ended up, lepas meeting dengan diorang, SPA tu akan dilakukan oleh team from our company. And everybody happy.. I guess.
...
So kalau dah masuk SPA ni, means dah hujung - hujung projek. Beberapa kali SPA dah jalan dan dah present ke pengarah diorang.
SPA ni sepatutnya cover kat apa yang kitorang buat je. Tapi somehow, terlepas satu ni budak SPA tu tertest yang team aplikasi tu buat. So budak SPA ni tanya la aku, nak include tak dalam report. Aku cakap senang je. Integriti. Dah nampak tu, terus raise. Tapi tak perlu proceed dalam sangat becasue it might delay our delivery. It is good also for them.
29 Januari, 2024.
So SPA ni pon present la final finding diorang lepas aku dah buat fixing. Dia kata cuma ada satu je lagi isu yang tak tutup lagi, dan itu adalah tanggungjawab team server. Sebab ianya melibatkan config. Pengarah tu pon minta tolong la kitorang tolong fixkan (aku le tu). So aku pon pergi la jumpa diorang lepas meeting tu.
Masa tengah nak godek - godek nak solvekan isu tu, sekali brader team server tu cakap. "Ni bukan kitorang yang kene setelkan ni. Ni kene tanya team aplikasi ni.".
Understood. Aku (not knowing anything), jumpa la team aplikasi tu. Cakap kat diorang, yang diorang kene fix sebab team server yang cakap cenggitu. Team aplikasi cakap, "Aik diorang ni. Ni kan server config. Apasal suruh kitorang pulak. Diorang tu memang.." Ada lagi rentetannya tapi tak kan la aku nak tulis sini. Kan.
Aku ok kan je la. Sambil - sambil tu tengok la team aplikasi tu fix.
...
You see. The project is about to end. Yang stressnya kami. Tapi team dari client kitorang tak stress pon. They work as usual je. As normal as it should be from their side.
Cuma ada satuuu jee tiny bit yang nak kene buat sebelum nak masuk ke production.
Nak integratekan data flow dari public ke server kitorang.
...
Ok to simplify, untuk normal application yang kitorang buat ni, akan ada tambah satu lagi laluan masuk dari public ke server kitorang. Masa awal - awal projek ni (mid December 2023), masa meeting nak bawak masuk server, aku dah pernah highlight dan bagi option ke diorang. Masa tu meeting dengan team server dengan team network. These are the options.
- Integrate melalui new domain name. So data akan masuk melalui domain baru dan terus ke internal load balancer kitorang. Kalau pilih ni, akan jadi major task untuk team network dan security.
- Integrate melalui Load Balancer. Pakai domain sama macam app diorang, cuma swing kalau path /sekian_sekian/ tu akan pergi ke server kitorang.
- Integrate melalui web server. Kene tukar config kat web server (macam nginx atau Apache) untuk buat proxy ke app kitorang.
So kitorang let the guys in the meeting decide. And they go with option no 3. Aku pon ok je lah. Slide tu pon aku emailkan terus ke diorang.
...
Back to current time nak go for deployment to production. Masa team aplikasi nak fix SPA punya isu tu. So aku cakap la. Nanti boleh buat skali for proxy to our app.
Team aplikasi tanya aku balik. Sapa yang actually decide nak pakai macam tu. Aku cakap la meeting hari tu masa awal - awal projek. Diorang tanya aku balik. "Team aplikasi ada tak dalam meeting tu". Ok I can see where this will goes. Aku kene jawab dengan hati - hati because I know this will trigger internal clash between them. Aku jawab, "Takde. Ada team network dengan server team je". Jawab aku jujur. Hahah. Memang hangin lah diorang.
So diorang tanya skali lagi kat aku, apa implikasi kalau buat kat config tu. Aku jawab la dengan jujur all the pros and cons kalau buat camtu. Diorang kata kalau camtu, kene hold dulu bab tu. Diorang kene bincang dengan boss diorang.
30 Januari, 2024.
Pagi. Aku baru sampai tempat client tu. Nampak bos aplikasi tu dah tunggu aku kat depan station kami. "Ha Fairuz. Mai sini sat. You citer kat I apa yang berlaku sebenarnya". Aku pon citer la semua - semua tu. With filter of course. Again. aku tak nak benda ni trigger internal fighting diorang.
Or so I thought.
Lepas boss aplikasi tu balik, 10 minit lepas tu, team member team aplikasi cakap,"Ok boss kitorang dah set meeting dengan diorang (team network dengan team server) pukul 10 pagi ni kat war room. Fairuz kene datang sekali, explain balik apa yang berlaku". Masa tu dah 9:55 pagi.
Wait a minute.
Hahahaha. Aku tak tau nak cakap apa. Aku follow je la.
10 pagi.
Masuk je dalam war room tu, semua "bersorak". "Ha datang pon dia. Duduk dulu sebelum apa2". Elok je aku melabuhkan punggung aku kat kerusi tu, terus diorang sound. Basically macam ni.
Bos network: Ha you citer siket apa yang berlaku sampai kalut sangat ni?
Aku tau dia tujukan ke team aplikasi. So I need choose my words carefully. Aku start dengan fakta.
Aku: Hari tu saya pernah present, macam mana nak integrate untuk masuk ke aplikasi kami. Sama ada lalu domain atau load balancer atau lalu nginx.
Bos Network tu mencelah.
Bos network: Eh mana ada you present tu.
Aku: Ada. Ada. Saya ada tunjuk dalam slide masa nak request nak bawak masuk server ari tu.
Kemudian bos server pon mencelah. Suara dia lembut je.
Bos server: Oh slide tu you ada email ke semua orang.
Bos aplikasi: Eh team kami takde pon dapat slide tu. Fairuz tak kongsi pon dengan kami. Nak suruh kami buat, tapi tak share pon apa - apa.
Aku pulak kene. Aku tau dia nak swing ke team - team lain sebab dia clearly tau bukan job aku nak inform diorang. Tapi aku gak dijadikan sebagai proxy dia.
Bos network: Ha Fairuz. Cuba you tunjuk balik slide tu.
So aku pon tunjuk balik la slide tu. Explain balik one by one. Lepas tu,
Bos aplikasi: Ha Fairuz. So rasa option mana yang paling sesuai.
Aku tau dia nak aku bagi jawapan apa. Dan aku tau team - team lain ingat pasal slide tu. Sebab diorang ada mention pasal something yang takde dalam slide tu tapi ada citer masa meeting awal - awal ari tu. So aku kasi la pendapat aku. Ni pendapat yang betul dan jujur. Bukan sebab kene gertak ke apa sebab aku nak memudahkan kerja semua orang. Tapi aku try berdalih lagi. Tak nak semua bergaduh.
Aku: Kalau ikutkan meeting hari tu, memang dah decide nak pakai nginx.
Bos network: Kita lupakan yang dulu tu. Sekarang, you rasa you suggest yang mana?
Bos network tau, kalau nak buat guna domain, benda ni akan delay lagi dan takde orang nak delaykan.
Aku: Ok terus terang. Kalau nak senang, kita configure kat Load Balancer je. Senang. Satu tempat dan sepatutnya kejap je.
Bos network dengan bos aplikasi terus kata setuju. Aku pandang ke puan yang bos server tu. Dia senyum je. Aku pandang ke brader team server tu.
Brader team server: Kalau macam tu, boleh je kita buat. Tapi minta hantar email. You ikut proses kitorang.
Bos aplikasi: Tak apa, tu nanti Fairuz boleh buat permohonan.
Bos network: Tu senang je tu.
Amboih masing - masing. Lepas tu ada lagi la sikit discussion yang nampak heated. Semua "Fairuz itu", "Fairuz kene buat ini". Padahal masing - masing tau je ayat - ayat tu ditujukan ke siapa. So selesai la meeting tu. Masing - masing PM tepi aku buat luahan. Aku vendor. Aku layankan je la.
Ok lah. Sebelum aku pergi makan tengah hari, aku shoot email pasal request tu. Dan lepas solat dzuhur, aku dapat la email kata dah implement.
Bergegas aku ke laptop aku. Check jadi ke tak config dia buat tu.
Tak jadi.
So aku pon whatsapp la kat brader server tu. Explain cakap tak jadi. So aku pon go back and forth dengan dia. Sebab benda tu takde depan mata aku, aku just boleh guide je. Sampai masing - masing buntu. So dia pon suggest.
Brader team server: Boleh tak pakai dua VIP (Virtual IP Address)? Nanti minta team network register kat MAMPU.
Aku: Pakai dua VIP maksudnya nanti kene pakai domain lain - lain. Unless kene set somewhere kat load balancer.
Brader team server: Kalau endpoint tu set kat server boleh ke?
Aku: Tu.. kene tanya team apps.
Brader team server: Sila2.
Aik. Aku kene jadi postman lagi ke. So aku try nak mengelakkan dari aku terjerat lagi skali dalam peperangan mereka ni.
Aku: Encik nanti bincang dengan bos aplikasi balik boleh ke?
Brader team server: Dia mungkin tak tau sangat bab teknikal. Cuba tanya budak dia.
Ok tak leh nak mengelak lagi dah ni. Aku whatsapp pulak kat budak aplikasi tu.
Aku: Awak, team server kata tak boleh buat la kat load balancer.
Budak aplikasi: Bos saya cakap dia pegang decision pagi tadi.
Mana taknya kepala aku makin botak. Tergaruk - garuk kepala aku yang tak gatal tapi kusut tu.
Ok aku dapat idea. Aku whatsapp ke brader team server tu.
Aku: Ok apa kata esok pagi saya datang ke bawah, kita tengok sama - sama. Pukul 9 pagi.
Brader team server: Ok gak tu. Nanti saya jemput skali budak team apps.
Aku: Ok cun.
Aku tau kenapa nak bawak jugak budak team apps. Sebab kalau boleh, nak aku sendiri cakap kat team apps tu, yang benda ni tak boleh buat kat load balancer. Kene buat kat apps jugak. Nak benda tu keluar dari mulut aku gak.
So malam tu puas la aku baca documentation load balancer tu sana sini. Tengok - tengok kat stackoverflow. Carik - carik cara. So that esok hopefully dapat la setel kat load balancer. Kalau tak setel gak, memang aku la yang jadi senjata diorang.
31 Januari, 2024.
Sebenarnya aku ada meeting kat tempat lain (10km jauhnya dari tempat kerje ni). So 9 pagi tu aku terus pergi ke tempat server. Sambil tu aku whatsapp la kat budak team apps tu cakap aku nak terus pergi sana.
Skali dia cakap dia ada meeting lain. Aku pon ok je lah. Aku tak tau apa diorang discuss semalam between budak apps tu dengan brader team server tu. So I go alone.
So aku pon teruslah duduk situ, test - test set itu ini. Dengan confidentnya terus apply kat production level. Lepas tu aku bukak laptop dan terus test. Dan alhamdulillah. Dapat buat seperti mana yang aku request tu.
...
Again. This is normal. Kadang - kadang nampak macam haywire. Tapi disebabkan kebetulan aku duduk di tengah - tengah, aku rasa aku diberi peluang untuk tolong mediate dari isu ni berpanjangan. Aku tak kesah pon orang gunakan aku sebagai medium diorang kalau tak puas hati. I know it will hurt my heart.. A lot.. Kene tengking tak pasal - pasal. Dengar luahan masing - masing. But, still. Aku bersyukur sangat aku ada peluang untuk letak dinding untuk mengelakkan diorang terus bertelagah.
Apapon, kerja kene sabar dan jujur. Itu yang sepatutnya dijadikan normal dalam kerja dan kehidupan seharian. Biasala tu, kadang - kadang kita kene kutuk - kutuk (5% kat kiri) dan kadang - kadang kita dipuji (5% kat kanan).
Tak tentu esok kita ada di mana di dalam normal distribution tu.
Yang penting, buat je yang terbaik untuk semua. And mantain \( + \sigma \) for all.
.
Rujukan:
[1] Rajah 2 tu aku amik dari ResearchGate. Sos: https://www.researchgate.net/figure/A-normal-distribution-curve-with-its-two-tails-Note-that-an-observed-result-is-likely-to_fig2_50196301
Tiada ulasan:
Catat Ulasan
terima kaseh :)