2013年10月16日星期三

This city is dying you know


槍打出頭鳥

今天本來想寫「聞聊 - 沉迷」﹐因為這排沈迷 GTA 5﹐對沉迷又有一番新見解。

但昨天我和好多香港人一樣對政府唯獨不發新免費電視牌照給香港電視網絡 (HKTV) 感到非常震驚。HKTV 獲得牌照的呼聲一直最高。老實說﹐我沒有睇過佢早前放上網嘅電視劇﹐但也知道坊間反應不俗﹐香港人有合理期望它將成為其中一間新免費電視台。

昨天政府宣布行政會議決定只發兩個新牌給有線的奇妙電視及電訊盈科的香港電視娛樂﹐不發牌給王維基的香港電視網絡﹐政府還指出這個決定的原因是秘密

香港人﹐你能接受嗎?

我不能接受的原因不是那個電視台不獲發牌會感到很失望(原本就無期望過)﹐而是此次事件令我真的覺得 "This city is dying you know"﹐唔批唔緊要﹐總要給個理由﹐政府連一個可以放上枱面的理由都無呀!你話幾咁黑喑呢!這裏真的是我一直生活的香港嗎?

今天卡片局長仲話佢地輸無經驗。我吥!Now 和有線做的是收費電視﹐他們那裏有做免費電視的經驗?想睇 Now 和有線節目的觀眾已經俾錢睇緊﹐質素如何大家心中有數(謎之音:唔係有波睇﹐鬼有人申請咩。)﹐佢地食住花生都可以無端端得到個牌﹐之後可以搞 D 乜野出來﹐難道香港人會有得免費睇英超咩?

反而人地買晒架生﹐請晒人﹐起晒樓﹐"We are ready" 咁等你個牌﹐你一句呢 D 係你自己攞嚟賤﹐無人叫你咁做喎﹐你一廂情願之嘛。係呀!對於一些還認為政府點衰睇電視咁少事都應該會聽民意的市民﹐你地一廂情願之嘛﹐你地都係返去睇乜姐落雞汁啦!(哈哈哈哈)

如果一開始就覺得人地唔掂﹐當初做乜批塊地俾人起電視台呢?香港係奉行市場主義﹐如果佢做唔掂﹐市場自然會淘汰佢地﹐正如當初的收費電視頻道一樣。

現在政府嘅一次黑箱作業﹐令投資者及其公司死得不明不白﹐這絕對會嚇怕外來投資者﹐日後你政府有甚麼鴻圖大計想要投資者先作前期投資﹐除了政府裏面有人的公司﹐那有投資者再敢投資呢?那麼投資者在上海或香港投資都無乜分別啦!

香港政府現在是幫手削弱緊香港的競爭力呀!

網上有膠論指無理由發牌俾 HKTV 就係「公義」﹐不發給它就是「唔公義」﹐此論者根本不明事件的焦點。香港人感到憤怒﹐除了因為期望落空﹐另外政府沒有給出一個合理解釋也是主因。

香港凡事講「程序」講「制度」﹐那怕是最官僚的部門﹐只要做足準備﹐交足文件﹐跟足程序最終都可以過關﹐絕不會出現那個公務員不高興就可以說「不」的人治情況。

今天有那個香港人不知道是中央不發牌給王維基﹐但難道香港的特首和局長可以在電視上明言嗎?幸好還不可以﹐但將來......

畢竟今次政府已將甚麼「獅子山下精神」和「機會係留俾有準備的人」等言論全部打沉了。

不如改做「順我者生、逆我者亡」算吧啦!

今天香港已死﹐我的心情很沈重。

2013年10月11日星期五

Arch Linux 被耍樂 - Xorg & VirtualBox Guest


如果你現在的工作己經得心應手﹐那麼你應該要計劃一下自己的未來發展。

今天在 Arch Linux 重新安裝 virtualbox-guest-utils﹐基本步驟和之前一樣
 # 安裝 virtualbox-guest-utils
$ sudo pacman -S virtualbox-guest-utils

# 新增 virtualbox 的 module 到 kernel
$ sudo modprobe -a vboxguest vboxsf vboxvideo

# 打開 virtualbox 的設定檔案﹐鍵入以下內容
#
# vboxguest
# vboxsf
# vboxvideo
#
$ sudo nano /etc/module-load.d/virtualbox.conf

# 直接開啟 virtualbox 的 service
$ sudo VBoxClient-all
# which: no Xorg in (/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/core_perl)
終於有句明顯的 Error message "which: no Xorg"﹐ 原來 X Window System 對於 VirtualBox Guest 來說是必需的...Orz

另外我又 search 到這個 Post 說不用幻想能在 bash shell 做到 VirtualBox Guest Additions 要的 Clipboard
I'm afraid that you cannot have a shared clipboard on a command-line only guest.

This is because the TTY doesn't really create a proper clipboard that the guest additions can use, you need a full GUI for that.

只好乖乖去安裝 Xorg 了!
# 安裝 Xorg
$ sudo pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils

# 安裝測試套件
$ sudo pacman -S xorg-twm xorg-xclock xterm

# 運行 VBoxClient-all
$ sudo VBoxClient-all    # 今次成功沒有 Error 了!
在 ~/.xinitrc 加入 VBoxClient-all 令 X System 啟動時自動啟動 VirtualBox Guest Additions
# 打開 ~/.xinitrc ﹐鍵入以下內容
#
# sudo VBoxClient-all &
#
$ sudo nano ~/.xinitrc

# 嘗試啟動
$ startx    # Orz...立即彈出
最後發現原來執行 startx 時都要 sudo XDDD
sudo startx
X Windows 啟動成功

根據 stackoverflow 這個 Post 我應該使用 xclip
# 安裝 xclip
$ sudo pacman -S xclip

# 嘗試複製
$ echo 'test' | xclip
結果仍是失敗...Orz

2013年10月10日星期四

SyntaxHighlighter 小改善


Work Hard Play Hard

雖然使用 cdnjs 的 SyntaxHighlighter 比放在 Dropbox 快十倍﹐但在 Dropbox 那個版本我有改過﹐所以還未轉過去﹐今日決定搞搞佢。

沒有改過的版本會有 Scrollbar 出現
首先解決如果字體 size 大的話﹐行數足夠也會有 Vertical Scroll Bar 出現的問題。

解決方法非常簡單﹐只要將每行的高度增加少許就可以了:
body .syntaxhighlighter .line {
        line-height: 1.2em !important; /* make the vertical scroll bar disappear */
}
另外希望 code block 可以多行顯示﹐使 Horizontal Scroll Bar 不會出現﹐這要也可以藉加入以下 CSS 解決:
body .syntaxhighlighter .line {
        white-space: pre-wrap !important; /* make code wrap */
}

但這樣做會令所有 code block 都換行﹐在閱讀 Program 時會變得很不方便﹐其實可以稍為修改一下
body .prewrap .syntaxhighlighter .line {
        white-space: pre-wrap !important; /* make code wrap */
}

如果加入多一層 class="prewrap" 的 html element﹐highlight 的 code block 就會換行﹐而原本沒有加入的就照以前一樣﹐這樣解決問題之餘也可向後兼容。


<span class="prewrap>
        <pre class="brush: text">Your looooooooooong code here! and blahblahblah</pre>
</span>

不過左邊的行數沒有根隨右邊的 code 換行﹐多行顥示是會有對錯行數的情況出現﹐所以只建議在顯示一些 Description 時用。

修改後順眼多了

2013年10月9日星期三

Arch Linux 耍樂 - gpm


「這一題考試不會考」

我現在面對的問題是:VirtualBox 的 Arch Linux Guest 如何將使用 nano 開啟的檔案內容複製﹐然後在 Windows Host 貼上呢?

Arch Linux 以 virtualbox-guest-utils 取代傳統的 VirtualBox Guest Additions﹐假設已安裝成功﹐為何還未能做到呢?

忽然想到一個無安裝 X server 和安裝 Window Manager 的 Linux﹐在 Terminal 裏面有剪貼這個慨念嗎?在 Bash Shell 中要如何操作「剪」、「貼」這回事?

接著我在 stackoverflow 找到比較接近我想要的答案

It's important to understand that bash doesn't have a clipboard. There is no such thing as "the" clipboard, because bash can run on Windows, Mac OS X, lots of other OSes, inside X, outside X, ... 

If you're in Linux terminal mode (no X) then maybe you need to look into gpm.

現在我的情況就是 no X 的 terminal﹐於是先去搞懂 gpm 是甚麼. Arch Linux wiki 說明那是用來實現 console 中的 mouse 操作。廢話少說﹐安裝吧!

# sudo pacman -S gpm

我沒有跟維基安裝 Service﹐畢竟我只想測試一下﹐所以直接用指令開啟﹐參數有分 USB 或 PS/2 Mouse﹐Well! 我根本不知道 VirtualBox Guest 的 Mouse 是模擬 USB 還是 PS/2。兩個也試一試吧!先試 PS/2 的無反應﹐那麼是 USB 吧!

一試...得咗...

# sudo gpm -m /dev/input/mice -t imps2

可以在 Terminal 用 Mouse 了!Yeah
用 mouse 點選文字後 right click 後﹐剪貼會一同進行(即所選文字立即貼在指令行上)﹐再 right click 會貼多一次﹐就算在不同 console 之間也可以進行剪貼﹐不過如果另一邊 console 的用戶登入﹐「剪貼簿」裏內容會被清空﹐但如果已登入就沒有問題。

雖然好玩﹐但根本問題仍未解決!

2013年10月8日星期二

上帝粒子 - 希格斯玻色子


不怕神一般的對手﹐只怕豬一般的隊友

由經典物理學的牛頓三定理﹐到愛因斯坦的相對論入門﹐再到之後的量子物理學﹐身為一個理科生被這些話題吸引是理所當然。

物理學需要很強的創意和幻想能力﹐現代物理學已經越來越專業﹐入門變得很難﹐好像現在最紅的標準模型普通人根本難以理解﹐主因是理論所解釋的現像難以感覺到﹐有時甚至違反直覺。

今年年頭藉由 LEP(大型電子正子對憧機)的實驗結果証明了「上帝粒子」的存在﹐因此今年諾貝爾物理學獎由發表相關理論的物理學家獲得是非常合理。

維基中 LEP 的照片
「上旁粒子」因何得名呢?它的存在幫助人類解釋宇宙萬物如何「無中生有」﹐因而得名。

簡單來說﹐現在被認為最能解釋萬物的「標準模型」裏﹐「希格斯機制」能夠給予基本粒子「質量」﹐因此能夠解開「質量」的誕生之謎﹐而「希格斯玻色子」的存在就可間接引証「希格斯機制」成立。因此 LEP 証明了「希格斯玻色子」存在﹐也給「希格斯機制」打了強心針﹐人類離大統一理論又向前走了一步。

現代物理學發展一日千里﹐人類好像很快可以解釋萬物。我也希望如此﹐不過科學理論是不能被証明是真理﹐可能現代只是和經典物理學的時代一樣﹐正在等待下一個愛因斯坦的出現。

2013年10月7日星期一

閒聊 - 寫作


人生就是不斷作出選擇的結果

要維持一天一貼真的不簡單﹐好像我這類上班族還可以堅持多少天呢 XD

現在科持發達﹐資訊爆炸﹐閱讀時候也不夠﹐選擇真的很重要。在剛開始這個 Blog 時﹐我也有想過可以持續紀錄自己有甚麼想寫的題材﹐到需要時才變成文章出街﹐但的確不容易呀!(你看!我今天又要用吹水文撐過去﹐這都是 GTA 的錯呀)

在紀錄題材方面 Evernote 的幫助的確很重要
Arch Linux 的確還有很多東西可以寫﹐不過平常使用和寫文給人閱讀是兩碼子的事﹐落筆才知道原來自己根本不明白﹐再閱讀幫助文件和維基補習一番也消耗了大部份時間。而且下班後有很多工作要做呢!又要玩﹐又要搵工﹐還要看看書。

為何堅持寫 Blog 呢?可能給之前《約耳趣談軟件》裏的一篇文章所影響﹐那一篇文章指大部份程式開發人員都不喜歡寫文檔﹐而有部份原因是害怕寫作﹐正確來說是害怕在一張甚麼都沒有的白紙上寫作。約耳作出的建議是送他們去上寫作課程或困他們在酒店一星期不停寫作直到他們不再害怕寫東西。XDDDD

寫作真的很重要﹐人類之所以有今日的文明﹐有文字紀錄前人經驗和普及教育是關鍵﹐慶幸活在這個雲端儲存時代﹐如此凡人的廢文也會留下紀錄。

2013年10月6日星期日

閒聊 - 閱讀


你感到迷茫是因為你在思考

我們從事資訊科技行業的﹐假日很少會開電腦作業﹐大部份時間也會用來陪家人或閱讀。

以前中學時聽到要做讀書報告會感到很心煩﹐讀完大學後覺得閱讀是吸收新知識最快的方法﹐出來工作後我更喜歡閱讀了﹐可能其他興趣已經熱情退卻了(中年危機?(,,・ω・,,))。

除了本科的書本﹐物理、生物、經濟、人文等都有興趣﹐另外小說和漫畫也是常客。

如果你已經很久沒有在工作以外進行閱讀﹐我會建議你重新考慮開始看看﹐那怕是一本小說也好﹐它一定能給你一些東西。

《好想好告訴你》是不套不錯的漫畫
但閱讀只是手段﹐人生需要學習的東西太多﹐也不是每樣都可以透過閱讀來學到﹐書本上沒有的知識同樣重要。

『你不是認為人生的全部都能從書本上學到吧!』By 銀之匙


2013年10月5日星期六

Arch Linux 耍樂 - sudo


人的強大在於了解自己有多渺小

今天忙於玩 GTA 5 同時﹐也抽了些少時候嘗試去解決 VirtualBox Guest 在 Arch Linux 運作的問題﹐可惜沒有成功﹐但也有一件事可分享。

從開始使用 Arch Linux 以來﹐我一直以 root 帳戶進行所有指令﹐當然這不是好方法﹐安全問題和每次安裝都要登入 root 非常麻煩。因此我決定要召喚在 Ubuntu 用慣的指令 sudo 出來幫忙。

Arch Linux 預設沒有安裝 sudo。

# pacman -S sudo

安裝異常簡單﹐我為了測試﹐在 users 群組新增了 michael 用戶。

# useradd -m -g users -s /bin/bash michael
# passwd michael
# <輸入 password>

但測試時發生錯誤

michael is not in the sudoers file.  This incident will be reported.

Google 一下發現原來要在 /etc/sudoers 裏面加入下面這句設定。

michael ALL=(ALL) ALL

當然還有不同的設定方法﹐詳見 /etc/sudoers 裏的說明

michael 終於可以使用 sudo. 今天就這樣了﹐又要回到 GTA 5 的世界了 (*゚∀゚*)

2013年10月4日星期五

佛心的 cdnjs


「人性本善」還是「人性本惡」?。

CDN 全名 Content Distribution Network﹐主要是透過分佈在世界各地的數據中心組成高效率的分佈式系統﹐令用戶能用最快和可靠的方式獲取網站內容。

Google, Microsoft 和 Amazon 都有自己的 CDN﹐其中 Google CDN 更為開發者提供知名 JavaScript 庫的免費 CDN 服務。不過好像 SyntaxHighlighter 這類小庫 Google CDN 就沒有了﹐幸好網上有 cdnjs 這類佛心網站填補了這個空缺。

使用 SyntaxHighlighter 非常簡單﹐作者 Alex Gorbatchev 網站的教學已經寫得好簡單﹐而且這不是今天的重點﹐因此不在這裏重複了。

我最想知道使用 CDN 的檔案載入時間會快了多少?以下兩幅圖是我另一個 Blog 在使用 cdnjs host SyntaxHighlighter 前後載入速度的比較。

未使用 CDN 前的載入速度
使用 CDN 後的載入速度
4 個 js 檔和 2 個 css 檔的載入時間都快了很多﹐css 檔案載入時間分別非常大﹐快了 10 倍 (由 6xx ms 縮短至 6x ms)﹐個別 js 檔也快了 5 倍

如果環境許可﹐Blog 主使用 CDN 服務是必然選擇吧!

2013年10月3日星期四

Arch Linux 耍樂 - 安裝 Virtual Guest Addition 之被玩篇


"Why it doesn't work" and "Why it works" are both tough for programmer.

昨天貼文 Arch Linux 耍樂 - 關機和查看已安裝套件 產生了一個 package_list 檔案﹐它紀錄了系統預設安裝的套件﹐本來想昨天就 Post 出來﹐但 Arch Linux 的 Clipboard 和 VirtualBox 未接通﹐這工作留待今天進行了。

首先去泡一下 Arch Linux 維基﹐那裏有很好的 Guideline﹐首先需要安裝 virtualbox-guest-utils.

# pacman -S virtualbox-guest-utils

哇!全版 error: failed retrieving file 'virtualbox-guest-....... 

雖然成功下載了全部相關套件﹐但安裝不能...Orz

醫生:手術非常成功﹐﹐但病人死了!XDDDD
Linux 好玩之處在於就算跟足 Guideline﹐還是會有意外發生。

這亦是訓練太家 Troubleshooting 和 Google 能力的時候(人生苦短呀!)

我曾經懷疑是 mirror 問題﹐但很快我就知道問題不在 mirror server﹐主因是安裝的不是最新的套件。

上一個 stable release 只是兩日前﹐這個 OS 是 2013-09-27 安裝的﹐難怪唔夠新啦!
本地的 Package List 不夠新呀!那麼只要更新就可以了。

# pacman -Syu

更新過後再安裝 virtualbox-guest-utils 就成功了﹐下一步是新增幾個 vbox 的 module 落 kernel.

# modprobe -a vboxguest vboxsf vboxvideo

行咗乜反應都無﹐Linux 的格言是無錯誤是無需顯示出來的﹐所以 no news is good news.

然後 Guideline 叫我自行產生一個 conf 檔案﹐並將它放在 /etc/modules-load.d/ 裏﹐內容如下:

vboxguest
vboxsf
vboxvideo

可以用 printf 指令創建檔案﹐再用 mv 指令將檔案轉移過去

# printf "vboxguest\nvboxsf\nvboxvideo\n" > virtualbox.conf
# mv virtualbox.conf /etc/modules-load.d/virtualbox.conf

接著繼續創建 Guideline 指明需要的檔案(p.s. 其實 redirect 可以直接指明要輸出的檔案路徑)

# printf "/usr/bin/VBoxClient-all" > ~/.xinitrc

終於搞定﹐Reboot 試一試 Copy & Paste 後發現 "It does not work!!" ლ(゚д゚ლ)

人生就是這樣子﹐今晚的時間也燒完了﹐明天再續吧!(/‵Д′)/~ ╧╧

2013年10月2日星期三

Arch Linux 耍樂 - 關機和查看已安裝套件


人類總要重複同樣的錯誤

之前分享過我安裝 Arch Linux 的過程﹐既然它被稱為經量級 Linux﹐我好好奇裏面其實預設安裝了那些 Package 呢?

不過在此之前﹐有一個重要指令一定要學會:就是如何關機。

其實都好容易

$ systemctl poweroff

還有重啟電腦 (reboot)﹐休眠 (hibernate) 等電源控制功能都可以用 systemctl 搞定(詳情可參考 Arch Linux 的相關 wiki page

Google 一下發現用 pacman 指令已可以列出所有已安裝套件

pacman 是套件管理工具﹐可用它來查看系統安裝了甚麼套件。
列出所有已安裝套件

$ pacman -Q

咦!一頁睇唔晒喎!唔緊要﹐可以 Save 低慢慢看﹐

$ pacman -Q > package_list
$ more package_list

還可以用 wc 指令數數到底有多少

$ wc package_list
53 106 871 package_list <-- 行數 字數 位元組數 檔案名稱

原來有 53 個套件安裝了﹐如果我不選擇用 GRUB 做 boot loader 的話﹐預設只有 52 個。

紀錄在案﹐日後慢慢一個個咁玩。

2013年10月1日星期二

GTA V


壓力其實就好像「瞓捩頸」一樣﹐令你想轉身都難。

很黃很暴力呀!!!
終於手入了 GTA V﹐我買了 PS3 普通版﹐我 PS3 和 XBOX 都有﹐但就是不爽 XBOX 連線要俾錢!當然 PSN 也好不到那裏﹐經常都在維護狀態。

說回那隻遊戲﹐今代畫面進化太大了吧!人物動作模式和 Bio Hazard 很相似﹐搶戰時我差點以為自己打緊喪屍(因為要爆頭 XDD)﹐畫面的確靚到無話可說﹐自由度也很大﹐隨時可以「打家劫舍﹐殺人放火」。

唯一不滿是為甚麼車是這麼難開得好﹐比玩 GT 車更難﹐令追車任務要玩幾次才成功。

只玩了一個小時左右﹐很多細節還未留意到﹐例如那個傳說中的自拍功能﹐廠商能將手機這樣自然地放在遊戲中﹐對玩家來說又有實際作用﹐這設計的確難得。另外可換衣服也比想像中多﹐不用整套更換也可以。

看來在 Lightning 回歸之前﹐呢隻 Game 可以玩一排了!