Halaman

Selasa, 27 Februari 2024

The current

0 comments

Circa 2021. Aku terlibat dengan satu projek ni. Berkaitan dengan agensi yang berkaitan dengan laut.

Alhamdulillah, banyak benda yang aku belajar. Sebelum ni kitorang banyak terlibat dengan on-land punya sistem atau sistem yang tak sentuh tanah (read: political system).

So untuk team kami, kami nak tak nak, kene la belajar macam mana kapal belayar kat laut.

Ya. Kene belajar macam mana kapal belayar kat laut. Bukan maksud kami nak tau macam mana nak sauhkan kapal. Tapi kami nak kene belajar cara reading untuk kapal tersebut. Segala apa attribute yang kapal tu kasi, kene fahamkan. Tak perlu hafal. Tapi fahamkan.

Data informasi kapal tersebut di"capture" oleh AIS, kira macam kat pantai atau kat tanjung punya "receiver". Dia kena ada atas tanah. So kita panggil dia - Sumber AIS = Terrestial.

Dan AIS tu sendiri merujuk kepada Automatic Information System. Dah memang kerja dia untuk dapatkan informasi kapal - kapal yang broadcast AIS data.

Data yang kitorang dapat untuk AIS tu agak banyak. Dari dimensi kapal tersebut, nama kapal tersebut, nombor kapal, dan "call-sign" kapal tu (kira macam no plet kapal tu).

Ok tu straight forward. Tapi yang tak straight forward dia, data macam gambar bawah ni (data AIS kapal macam ni boleh tengok kat marinetraffic.com, tak kan le aku nak letak gambar data dari projek aku.. kann.. kann.. hahah).


Maksud aku confusing, dia ada Course dan True Heading.

Macam aku selalu pesan kat kawan - kawan aku, kalau confuse benda berkaitan dengan numbers ni, tengok unit dia.

Degree.

Maksudnya arah kapal. Betul?

Ok hampir betul. Course atau Course Over Ground (COG) adalah arah dimana TUJUAN kapal tersebut menghala. Bayangkan kalau kat Google Maps tu, dia akan kasi arah pusing ke 30 deg di hadapan. Kita akan buat 30 deg di hadapan. Dan True heading pula, merujuk kepada kapal tu sebenarnya pointing ke arah mana. Ok ni nak kene explain lebih sikit (maksudnya dia kena ada perenggan dia sendiri).

So kalau kapal bergerak kat atas laut, ada banyak faktor nak kene ambil kira. Macam ombak, angin laut dan sebagainya (aku takde idea lagu nak kasi contoh). Ok sikit je explaination dia.

Contoh researcher gunakan True Heading (HDG) dan COG untuk tentukan tsunami [97]

COG dan True Heading tak semestinya sama. Faham kan?

Ok jadi satu lagi persoalan. 0 degree tu, kat mana eh. Atas ke? Bawah ke? Dari pusat bumi ke.

So masa tu, aku pon mula lah mencari - cari dimana 0 degree tu. Ya. 0 degree tu sebenarnya merujuk ke arah utara.

Tapi, tahukah anda, sebenarnya kita ada beberapa jenis utara? Haa aku pon baru tau.


Magnetic North vs Grid North vs True North [98]

Utara tersebut adalah:

  1. Magnetic north. Merujuk kepada arah magnetic bumi kita ni. Dia senget sikit dari utara yang satu lagi.
  2. Grid/Geographic/True North. Merujuk kepada utara berdasarkan (virtual) line yang kita lukis kat atas peta tu. Geolocation yang kita guna yang macam 2°01'01.2"N 102°34'48.6"E tu, merujuk kepada (virtual) line kat peta!

So actually, utara yang kite dok selalu tengok kat kompas tu, bukan utara yang sama macam dalam dalam gambar - gambar yang selalu kite tengok tu. Kompas utara, adalah menunjuk ke Magenetic North. Bukan Grid/Geographic/True North pon..

Gambaran artis, ade megnet dalam bumi kite [99]



The thing is that, benda ni macam inspire aku.

I know what I want, I know where I should be heading (COG). Cuma kadang - kadang badan aku mula ke arah lain (True Heading).

Kalau kapal - kapal moden, dia ada macam - macam sensor dan calculation untuk pastikan kapal tu actually ke arah yang dia sepatutnya dia pergi. Dan aku pulak, mengharapkan rakan2 dan family aku untuk drag aku ke arah jalan yang betul. No cap.

Contohnya macam kes aku ni. It should be enough kalau aku tau what is COG and what is True Heading untuk purpose projek aku. Tapi banyak juga aku spend masa nak fahamkan pasal all the type of north yang ada.

Distracted.

Aku senang sangat distracted kalau buat kerja. Susah nak elak. Mana taknya. I'm still like a child. Semua benda senang untuk buat aku interested nak tau apa. Or in alternate sentences, semua benda senang untuk buat aku distracted aku lol.

True. I wanted to learn lots of things. But at the same time, I also wanted to revise or study benda - benda yang aku dah belajar. Not because of ada ujian ke apa. Tapi sebab aku memang suka macam tu.

Because in the end. Aku tau aku ni senang hilang fokus.

Nak nak pulak, kerja aku ni jenis macam kejap buat projek itu, kejap buat projek ini. Walaupon aku tersangatnya fokus masa buat sesuatu kerja, tapi aku juga tersangatnya senang untuk aku fokus ke kerja lain at the same time.

I know this is my downside. 

Tapi aku tak boleh ubah. Like I said, the nature of my work is like that.

Especially sekarang. Aku ada more than 5 concurrent project yang aku basically kene hand-dirty.  I can highly focused on works but at the same time, I can also easily distracted.

The thing is, macam mana aku nak tau aku bukan distracted? Macam mana aku nak tau aku punya true heading? How should I know my true heading is actually True Heading?

So what should I do?

Set the target.

Aku start dengan set tema aku untuk 1445H adalah untuk focus. Ya. It's already 8 months I'm trying. But anything I do, it must be within this theme.

For every works yang aku buat, aim aku adalah untuk fokus ke hujung jalan.

Kalau untuk kerja, aim aku adalah project successfully delivered. So I should focus on that.

Benda - benda lain yang tak membantu project delivery aku, aku anggap dia sebagai distraction.

Kalau untuk anak - anak kau, aim aku adalah nak pastikan diorang membesar dengan sihat.

Kalau fokus aku untuk nak mengelakkan dari bergaduh, I know what I should do (dis also relates to 1444H punya tema, fixing)..

Dan kalau untuk life aku..

Em..

Emm...

Hahahah.. Aku pon tak tau. Janji aku hidup je kot hahah.


P/S:

[97] Research Paper on Measuring offshore tsunami currents using ship navigation records

[98] Ambil dari slide share. Tapi rasanya dia pon tapau dari sini. (Sumber rajah) Uncharted 101

[99] Sumber rajah: Blog Directional Drilling Art
 

Isnin, 12 Februari 2024

Gate

0 comments

Circa 1996

Aku baru berpindah dari Kuala Lumpur ke Melaka tahun 1996. Masa tu aku kecik lagi. Darjah 6. Ok takde la kecik sangat. Kecik as is masih suka bermain dan "takde la kecik sangat" sebab dah boleh buat keputusan sendiri.

Kalau sebelum tu kat Kuala Lumpur (Gombak Setia to be exact), aku suka explore dan main - main kat luar. Panjat pokok, main longkang, main basikal, jalan kaki berejam. Ya, ada je benda aku buat. Yang penting, time azan Maghrib, dah balik ke rumah (kot tak, mak aku jerit panggil nama kat rumah flat Gombak Setia tu). Tapi aku takde la nak kata banyak kawan. Tapi boleh je bergaul kot dengan budak - budak yang main kat luar tu ha. I mean, it just I'm doing as normal stuff as a kid should be.. I guess.

Tapi kat Melaka pulak, aku duduk jauh dari budak - budak lebih kurang sebaya aku. So in the end, sama ada aku main basikal kat luar, atau aku duduk saja kat rumah.

Tapi sebab naluri aku sebagai budak yang suka explore, mulalah aku main itu ini kat dalam rumah. Masa tu kebetulan pulak, ayah aku ada sebuah kompiter yang dia asalnya dia beli untuk kerja dia. Intel 8086. Tapi sudahnya jadi tempat aku bereksperiment. Belajar guna MS-DOS command prompt. Belajar buat batch script. Belajar Lotus-1-2-3, WordStar dan macam - macam lagi lah.

Dari situ jugak lah aku mula belajar how computer works (pergi Public Library Alor Gajah weh carik buku pasal kompiter). Masa tu jugak aku belajar ada Integrated Chips (IC) kat dalam tu. Dan kebetulan (lagi) pulak, ayah aku sebelum tu memang kerja as System Integrator (I mean, the real deal. Macam nak kene integrate sistem Jepun dan sistem Amerika!).

Ini adalah chips. Atau aku panggil IC.

So kat rumah, dia adalah simpan set of chips/IC. Ada jugak majalah berkaitan dengan elektronik, IC dan pasal nak buat lampu lip-lap lip-lap tu. Aku pon, apa lagi. Mula la tengok - tengok chip tu. Mula lah belajar pasal logic gate. Belajar soldering itu ini.

I kid you not. Masa tu aku takde la pandai english (darjah 6 kot), tapi aku bukak je buku datasheet dari National Semiconductor pasal logic. Apa susah kan? Kat IC tu ada nombor, so aku carik la nombor tu kat dalam buku ni. Contoh IC tu "label" dia DM74LS14N, so aku carik DM74LS14N dalam buku ni.

Sebijik macam ni ha. Nanti kalau aku balik kampung aku carik ada lagi tak buku ni.

So kalau aku bukak kat datasheet tu, aku nampak la dia punya detail macam ni. Apa pin configuration dia, dan apa logic dia.

Datasheet for 7414

Dan IC ni ada banyak jenis/family. Ada CMOS, ada DTL, ada TTL. And amongst of all types of chips, aku berminat kat satu family type of chips ni. TTL. Transistor-Transistor Logic. Sebab dia senang. 5 volts. Input true or false. Output true or false. Senang. Straight forward.

Dan aku sangat berminat pasal logic gates tu. Kat dalam datasheet tu, memang akan ada tulis apa input dan apa expected output. Yang tu kita panggil sebagai truth table. Ada satu (atau beberapa input), dan apa expected output dia.

Contoh Truth Table untuk NAND Gate. A, B tu input. Q tu output.
 
Ok. So itulah mainan aku masa kecik. Tengok IC, carik kat datasheet, tengok Truth Table dia, lepas tu try la solder IC tu combine macam nak combine empat NAND Gate untuk jadikan satu XOR Gate dan macam - macam lagi lah.
 
...
 
Circa 1998ish

Tapi ada beberapa ketika, aku perasan, kadang - kadang output dia macam tak beberapa cantik macam aku harapkan. Contoh kalau time aku dah integrate gate logic aku dengan board aku yang lain, aku perasan benda dia macam kadang - kadang dia tak stable.

It should be as straight forward as it is right? Low and High. Ada dua state sahaja.

Rupanya, tak semestinya input tu 5v akan produce ke High. Possible jugak kalau input tu 4v dia akan treat as high. Kene baca manual dia.

Rajah di atas menunjukkan kalau voltage dia kurang dari \( V_T \) dia akan treat input tu as Low dan kalau dia lebih dari \( V_T \) dia akan treat input tu as High.

It just that, kebanyakkan sistem aku ada input dari analog. 


I'm not saying that this is a bad thing. It just that I need to understand correctly to ensure that my system is producing a predictable and measurable outcome.

Tu dia!
 
And yes. That is a sigmoid function. Atau dalam project management IT, diorang selalu sebut sebagai S-Curve. Ok aku malas pulak nak citer pasal sigmoid function tu. Sebelum aku tulis post ni, aku memang ingat nak citer. Tapi nanti macam drag lagi panjang pulak. Lain kali eh.
 
...

Now. Lately (read as, since I'm late 30 years old), aku perasan behaviour aku macam behaving lebih kurang macam mana Logic Gate ni berfungsi.

Ok. Low state tak semestinya tak bagus. High state tak semestinya bagus. But for binary sistem, we just have two state. A atau B. Satu atau Kosong. Tu je.
 
Dulu, aku ada momentum untuk rajin upload post kat blogger, facebook atau apa - apa social media, just to interact with my friends - we put it as in High state. Dan lepas beberapa ketika, aku rasa macam jadi makin malas pulak - and we put it as Low state.
 
That is just the small thing. On the more serious notes - macam kerja, dulu aku suka melengah - lengahkan kerja (low state). Up to one point, aku rasa stress dan marah sangat dengan diri aku. So aku sekarang ni rajin nak buat keje secepat mungkin (high state). Again, the state tak menunjukkan satu bagus dan satu lagi tak bagus. Siapkan kerja secepat mungkin, means aku kene sacrifice something. And for this, masa aku. Aku nak siapkan keje aku secepat mungkin, aku kene buat keje sampai tengah malam.
 
And the more I try to understand myself, the more I become more.. depressed.

Sebab, ianya akan mengundang ke satu soalan besar.

Apa yang trigger perubahan tersebut? Macam logic gate, senang. Aku tengok kat truth table dia je. Tau expected input and expected output. But for me?

...

For simple thingy macam doomscrolling kat social media tu, benda yang boleh trigger aku dari stop doomscrolling kat social media adalah aku rasa makin stress tengok kawan - kawan aku post atau repost something yang pasal benda yang tak pasti. Benda yang menimbulkan pergaduhan.

It is just as simple as that.

Tapi kalau benda makin berat, macam procrastination kerja tu, aku start cepat siapkan task aku sebab aku tau, kalau aku slow, benda ni akan impact kat office mate aku.

So kali ni agak berat sikit.

Jadinya, makin berat atau makin besar perkara tu, aku perlukan force yang makin kuat atau makin berat untuk aku tukar state aku.

Newton First Law: Inertia.
Newton's first law states that every object will remain at rest or in uniform motion in a straight line unless compelled to change its state by the action of an external force. This tendency to resist changes in a state of motion is inertia.

Lagi besar object tu, lagi tinggi force kene pakai untuk tukar state tu.
 
Dan kadang - kadang, ia memerlukan trauma untuk aku tukar state tu.

And how I define it is big or small? It is actually quite straight forward. Based on how big the impact is to my future and anyone close to me.

...

But it is not that simple.

Contoh, even though aku ni jenis nampak macam sentiasa cerita semua benda secara open, tapi sebenarnya apa yang aku cerita tu is actually histories atau facts sahaja.

To actually cerita or opened up apa - apa from deep of my heart, i need something. Something yang boleh buat aku percaya kat seseorang tu. Something that I think it is worth trading for. Dan kadang - kadang aku main - main dulu, test dulu sikit - sikit. Sampai aku rasa betul - betul aku boleh open up dan rasa selesa kalau open up tu - no remorse.. Macam graf kat bawah ni.


Once aku dah percaya kat seseorang tu, memang it is point of no return. Aku akan percaya 100% ke dia untuk aku cerita.

"Langit tak sentiasa cerah"

You are right. Kalau dah state aku percaya kat orang tu at High state, tak semestinya ianya akan kekal High.

Dan kalau nak tukar state dari aku percaya (high) ke state Low, there's a big trade off jugak. Macam Newton First Law tu cakap. So for the case untuk aku drop my open up aku tu,  there's only one way to change the state.

Trauma.

Dia punya sakit tu.. bukan kat badan. Tapi kat mental. Kalau dah kena tu, aku sendiri pon tak tau macam mana nak fix. Sekali aku tak percaya tu, aku memang akan mendiamkan diri atau mengelak dari berborak pasal tu.
 


"Time heals all wounds"

I really wish it is as simple as that.
 
...

Ok kalau aku cakap pasal open up dan kepercayaan tu. Tak bermaksud kalau aku percaya kat orang tu, aku leh citer apa saja. This is where it is quite unique.

Aku percaya kat kawan aku untuk citer anything dalam hati aku pasal kerja or a specific topic, tapi tak bermaksud I can tell him/her about my family.

I just need to clearly to understand. Which gate I can open and which gate I will close.
 
That is all.

"Forgive. But never forget"

This is something that I reply on twitter that might interest to who ever come across to my page.



Percayalah...

Jumaat, 2 Februari 2024

Normal

0 comments

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.

A normal distribution curve with its two tails. Note that an observed result is likely to return a statistically significant result in hypothesis testing if it falls in one of the two shaded areas, which together represent 5% of the total area. Thus, the shaded area is the area of rejection of the null hypothesis

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.

  1. 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.
  2. Integrate melalui Load Balancer. Pakai domain sama macam app diorang, cuma swing kalau path /sekian_sekian/ tu akan pergi ke server kitorang.
  3. 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