網頁

2024-10-06

資深程序員的自我救贖

這篇文章並非人生說教或心路歷程分享,而是物理向的自我救贖分享。目標人群主要是資深的ctrl c & v程序員,如果你同時是:Linux command 愛好者,快捷鍵 or 鍵盤流愛好者 和 機械鍵盤愛好者等以上種種 buff 疊滿的人。若果當你看到以上 buff 時覺得手腕 or 手指隱隱作痛,那這篇分享或者可以幫到你。當然,如果你是覺得頭皮一涼的話,那就是另一個故事了,有機會再另外分享。

大約大半年前,我的左手腕開始有點隱隱作痛,主要表現爲轉向某些角度或有時作力時會感到疼痛。開始以爲可能不知什麼時候扭傷了,覺得慢慢可以恢復。直到後來痛楚逐漸加劇,在做一些日常動作時,如扭毛巾、 拿茶壺等,都感到痛楚和乏力,令到日常生活亦大受影響,我才不得不重視起來,開始主動治療。

跌打

跌打是香港對中醫骨傷科特有稱謂。主要原理是以中醫骨傷手法,及藥物內服、外用等,處理病患的皮肉經絡氣血損傷及異常情況。例如,外傷骨折採用固定及外敷藥膏和內服活血化瘀的中藥,筋肉扭挫傷則以中醫推拿手法整復損傷筋肉等。

當我想要治療的時候,我還是直覺地覺得我應該是扭傷了筋骨,所以我應該要找跌打師傅幫用神奇的跌打手法恢復手腕。 

雖然我明確表明了我是手腕痛,但跌打師傅上來就將我整個手臂都塗上藥酒,一頓敲打錐按,再敷上不知明的祖傳藥膏,整個手臂包紮起來。


師傅說表面上是手腕痛,但其實整個手臂的筋也受損了,所以要治本的話必須整個手臂一起來。

我也不知道,我也不敢問。後續結果是,我一星期內一共接受了兩次跌打治療,結果是沒有什麼卵用效果,放棄了。

可能你會說我只做了兩次治療就這放棄,不能說明什麼。事實上我放棄的原因是,敷了兩次他的祖傳藥膏後,我的皮膚居然過敏了,我擔心繼續下去,手腕沒治好我就要看皮膚科了。

另一個主要原因是,公司的 medical plan 是不包跌打的,一星期兩次跌打,每次 600 元,按師傅的說法,起碼也要接受幾個月的療程,治好了我的銀包也元氣大傷。

物理治療

中醫跌打救不了,只能回到西醫普通科,讓醫生轉介物理治療試一試。

物理治療師很快就診斷出我這是屬於腱鞘炎,並推薦我用衝擊波治療試試。

衝擊波治療具體原理大家可以自己行上網研究,實際效果就是真的痛痛痛。當衝擊波打落手腕時,每一下都像敲打在你的筋上一樣。物理治療師說痛就對了,衝擊波治療就是要破壞肌腱受傷位置之黏連、結痂,即大家常聽過的「打鬆」,刺激軟組織令它們重新生長。而且事實上衝擊波又真的只會對我手腕痛的地方有反應,打在其它地方是完全不覺得痛。

網上圖片

每次衝擊波治療過程大約 10-15 分鐘,完了後還有個熱敷的電療。

一個療程 6 次,我大概做了 3 個療程。剛剛一開始是每星期兩次,慢慢變成一星期一次,到一個月一次。

結果是,我的手腕治好了。yeah! 總費用是 0,因爲公司的 medical plan cover.

腱鞘炎

後來也主動了解了一下腱鞘炎,又叫「筋膜炎」,應該算是程序員比較常見的一種頑疾,主要原因有:
  • 急速及重複的動作 - ctrl c + v
  • 不良的工作姿勢 - 手腕縣空敲鍵盤 or 用鼠標,特別是機械鍵盤。
  • 長時間維持同一工作姿勢 - 996在電腦前的你
治療完了之後,我直接將公司和家裏的機械鍵盤換成了人體力學的鍵盤,現在每次打 commond 都慢慢小心翼翼地打,生怕再傷到手腕它老人家。

當然,要預防和完全根治也很簡單,轉行吧。或者,



2024-09-26

Hello World

據說每個 blog 的第一篇日誌通常都是 Hello World, 就正如每個 Programmer 學會每門 language 之後第一時間都會 print 一句 Hello World 一樣。所以,這篇日誌,就是這個 blog 的 Hello World~雖然可能遲了十多年。

最遠古版本的 blog 應該是在 2006 年左右搭建的,用的是 PJBlog(已入土)。中間斷斷續續,棄坑了一大段時間。最近老夫聊發少年狂,決定重啓個 blog, 慢慢將已塵封的日誌出土修復,無論當時的言論幾咁幼稚都好,始終也是一段中二的記憶。當然,有些太過中二天真的日誌,還是讓它永久沉睡吧。

修復的過程注定道阻且長(主要係睇心情和時間),過程中不斷被勾起的美好回憶,亦值得讓我繼續下去,希望能盡快補回這中間十數年的空白。

在這個版本的 blog 裏面,我們盡量不談技術(因爲沒有),只談風月(其實就是雜事)。


我唱著無無聊聊從未太閃耀

我在唱日日夜夜願搏你一笑

                                            尹光 - Dear Myself


 

2023-04-19

從一個旅遊網站說起

最近有個客戶讓我幫一個網站修復一些 bugs。

呀……當我第一次知道又要幫其他人執屎的時候,其實我是拒絕的!因為我覺得……呀……你不能叫我修、馬上修,第一,我要先看一下,……後來客戶跟我說這次真的是很簡單的,一個關於旅遊的資訊網站,只要修復些發不出 email 的小 bugs 就行。

一個小小的旅遊資訊網站,再加上只是要修復些發不出 email 的問題。聽起來就算有坑也大不了那里去啊,想到這里我就含笑答應了。

結果拿到代碼一看,我不禁倒抽一口涼氣。

主要是,這個網站的架構太混亂,簡直就像作者隨手拿幾塊 lego 搭起來的玩意。

憑着我對這個 project 粗淺的認知,我試着畫一下它的架構圖。

 

整個架構的精粹就一個快字。開發者只要專注開發 Frontend 就行了,其他所有都是現成的,直接就可以重覆利用。能用現成 platform/service 就絕不自己搭建,devops 的功夫都省了。今天你 confirm design, 我明天就可以整個網站開發出來給你。畢竟時間就是金錢,天下武功惟快不破。

除此之外,你可能說同樣 Wordpress 套層皮也可以做到啊,但若果我掏出上面張架構圖,就問你能不能值多點錢?


看到這裏,小朋友你是否有很多問號?

這樣的架購,維護起來會怎樣呢?如果客戶提出比較複雜的需求又能不能支持呢?

呵呵。

維護?小朋友你想多了,這種公司或開發者明顯打算做一次性生意,管殺不管埋,做完交貨就走人,維護關我鳥事。(不然都不會找到我)

複雜的需求?親,這邊建議你砍掉重練哦,整個網站重新做哦,最多這次給你九折優惠哦親~

我不去猜測開發者爲什麼要這樣做,其實無非就是成本和時間問題,但能不能別將簡單的事性複雜化?哪怕你簡簡單單寫個 Wordpress theme 我也敬你是條好漢。


在這個項目裏,包含了:
  • 4 個 Repositories
  • 3 個不同的 nodejs versions
  • 2 個 Netlify accounts
  • 一堆 bugs
發不出 email 原因就是其中一個 nodejs version 太低,AWS Lambda 已經不支持了。結果爲了升級 nodejs version 又要重寫那些 Lambda functions。

你只要看過一眼 DB structure, 你就知這系統有多隨便,明顯不打算繼續開發和維護的。

最關鍵是,production 上面調用的 SendGrid templates 居然是在開發者的開發者帳號中,還丟失了。我也是嘆爲觀止。

當然,我負責執屎填坑當然是不爽的,但我認爲最慘的還是客戶,畢竟他們可能不理解手上這玩意兒有多垃圾。若果他朝一日真想滿足更多的需求或功能,除了推倒重來別無他法。我想這也是爲什麼 IT agent / vendor 公司一般給人技術垃圾印象的原因,因爲大部分的確只打算做一次性生意,坑一筆就跑。