分類: General

  • MediaWiki 架在 Shared Web Hosting 上的基本效能設定

    長期以來,我都在忍耐 MediaWiki 架在 DreamHost shared hosting 上的低效能,因為領教過更誇張的 Drupal,所以耐受度也拉高了,覺得多等個幾秒也還好。

    但是最近開始認真將 MediaWiki 當成網路筆記本後,就愈來愈覺得,每次再這樣多等個幾秒,除了浪費時間,剛剛得到的靈感恐怕也就忘了,所以就稍稍研究了一下把效能稍加提升的方法。

    在沒有登入 MediaWiki 的情形下,$wgUseFileCache = true;的效益很大,會生出靜態頁面,省掉了「到資料庫撈資料出來,再生成頁面」的昂貴開銷。這個在未登入、單純查看筆記的場景下確實是加速很多。

    但是如果在登入的狀態下,由於各人的變數不同(即使這個 Wiki 只有我一個使用者),所以如果要生成靜態頁面,要處理的毛多很多,就有點不實際。不過 MediaWiki 另外有個設定 $wgCacheDirectory 會將比如 L10N 的資源編成快取檔,也省下了不少的 DB 操作。把這個路徑設定弄好,也能在登入的狀態下,換到不少的效能。

    除了這兩項設定,$wgMainCacheType = CACHE_ACCEL;也很明顯,如果 CACHE_ACCEL 不適用,CACHE_DB 可以碰碰運氣,看看業者的 MySQL server 效能撐不撐的起來(但是別抱太大希望)。

  • 移除 Ubuntu 的過時版本 Linux Kernel

    筆記一下:

    列出系統上安裝的過時版本的 Linux kernel:

    dpkg -l --no-pager | grep "^rc" | awk '{print $2}'

    確認無誤後,一舉移除這些過時版本的 Linux kernel:

    dpkg -l --no-pager | grep "^rc" | awk '{print "sudo apt purge -y "$2}' | sh
  • 我創立了一間公司

    上一篇提到,我考慮找沒有限制 core hours 的遠距工作機會,或是自己創業。後來的發展是,我創立了一間公司「宏雅微系統有限公司」。

    自己跑公司設立的過程,跟公部門打交道,實不相瞞,稱不上順利,也難免讓我有些心浮氣躁,好在總是撐過來了。至少往後,自己或他人遇到類似的狀況時,可以從中自助或助人,也是一項收穫。

    相對地,民間機構,像是美印社(刻印行)、銀行、會計師事務所、辦公空間業者,多是和善、好溝通的,也不乏對中年創業的我投予鼓勵打氣,真的很感謝這些人。

  • 求職或創業方向的期中檢討

    原先認為投入 Android NDK 是個不錯的轉身方向,但是現在想來,當初實在太過天真。

    以為競爭者會比較少,會比較講求實戰經驗與能力,實際上呢?競爭者會比較少,因為需要用到 Android NDK 的單位也沒多少;而在寥寥可數的職缺當中,要求 CS 本科系學位的,卻也並不罕見。

    但是這幾個月並沒有徒勞,學會 Kotlin 語言、更新了比較 modern 的 Android 開發思維、把多年前的心願實現、證明自己確實有能力從內部程式到 UI/UX 顧及到各方面,設計出一個產品,找回自信心,都是紮紮實實的收穫。

    真要說完全沒有機會找上門,也是有欠公允的。至少在 SNS 上,就有幾個老朋友,或僅有一面之緣甚至素未謀面的網友,介紹職缺給我,只是如果再顧及到工作地點與時間,這些機會需要長途通勤或是有 core hours,都會再回到我疼痛症狀發作的老問題,以及家庭照護的衝突。

    如此一來,找沒有限制 core hours 的遠距工作機會,或是自己創業,就成了不得不為之的方向。做 Web 還是做 Android,做純軟還是軟硬整合,在這個方向之下,就都不是前提。

  • 從 Arch Linux 轉回使用 Ubuntu (2)

    再簡單交代一下,我覺得「不如歸去」的思路:

    1. 比起有商業資金挹注研發工作的那些 Linux 發行版本,Arch 本身並不像那些 Linux 發行版本會主動貢獻一些「新玩意兒」來增強 Linux 生態系的各式應用。
    2. 反之,Arch 是把各種 Linux 軟體,包括那些「新玩意兒」從 upstream 那邊拿來,盡可能原汁原味地打包,然後提供給使用者使用,使用者發現什麼問題,也就減少了發行版本在中間自行打補釘、加料的干擾因素,回報給 upstream 時幾乎可以確信是 upstream 本身軟體的問題。透過這樣的正向循環,促使 Linux 上的軟體品質愈臻完善。
    3. 老話重提:「各人有各人的環境場合」、各人有各人的 Arch 用法,只是我個人會覺得,如果要用 Arch,可以盡可能多用一點裡頭包的 packages(無論你是把它當 server 還是 desktop/workstation 在用),然後盡可能地小步前進跟上 rolling update,有問題,回報上游,甚至自己試著修,這是我認為使用 Arch 時對社群發展最佳的方式。
    4. 只是,這麼多年下來,我看到這樣做的人很少,但是自居 power user、用了一個比較 geek 向的 Linux 發行版本就自以為高大上的人很多, 讓我看得心很累。
    5. 而且,我現在的情況,已經無力再繼續當個 “Arch-based upstream QA”,我得走了,我還有更迫切的、攸關溫飽的事要顧。

  • 從 Arch Linux 轉回使用 Ubuntu

    六月份的時候,筆電的 SSD 壞掉,買了新的來換,也順便在重建系統時,把用了 11 年的 Arch Linux 換成 Ubuntu。

    接下來我要講的,很可能肯定會讓我在相關 SNS 被砲轟到體無完膚,不過我還是想說說一些感想。

    原本我是因為每次 Ubuntu 升版都會出包,所以才會轉用 Arch Linux(之前我相信 rolling update 小步前進會比一次大幅更新好),這次改回 Ubuntu 也沒例外,GNOME 3 深度整合綁 IBus 輸入法框架至今依然就是有些,逼得我還是得手動換成 Fcitx。

    不過,解掉這類不順手的地方後,Ubuntu 21.04 還是讓我用得蠻開心的,像是我指定使用 ZFS,在有些操作下,系統會自動幫我建立 snapshot,我就覺得電腦用起來覺得安心許多;筆電的闔上螢幕再打開後,系統喚醒也一直都是正常的,不像之前三不五時叫不醒,得用有點微妙的時間差再次把螢幕闔上、打開,才有可能把電腦叫醒,啊?對,就很像把賴床的人隔幾分鐘後再去叫他起床一樣,充滿了人性。

    除了這種預設安裝絕大部分都已就緒可用,還是這種預設安裝絕大部分都已就緒可用,的使用體驗,讓現在已經不想折騰環境建置與設定的我,選擇回到 Ubuntu。現在的我已經不想再當一個 “Arch-based upstream QA”,給我一個基本可用的環境,不求新,但求穩,讓我可以好好做自己的專案開發工作就好。

    更何況,有時候,我預期 Arch 會迅速跟上 upstream 的 package(s),實際上更新步調並沒有那麼及時。現實就是 Arch 的 packages packaging 仰賴志工、人工維護,當認養 package 的維護人未能跟上 upstream 的更新步調,我也只能自己改 PKGBUILD 自力救濟。這樣的體驗真的不能說很好。

    再者,我自己身體力行,把 Arch 當 desktop/workstation 用,親身當這些 GUI applications / desktop environments 的 upstream QA 時,我發現其他一些人,逢人就把 Arch 誇上天、邀入坑,自己卻只把 Arch 當成 server 用,我就覺得有點…無言,雖然各人有各人的環境場合,但是我認為這種用法,Linux 桌面元年不知何年何月方能得償所望?想想還是算了吧!就連現在的我也不想再承擔這種大義大任,就給我一個「預設安裝絕大部分都已就緒可用」的桌面環境就好。