【自製】Chinese Chess
Chinese Chess 顧名思義就是象棋遊戲,其實這項小專案在 DR 的程式庫裡沉寂得有點久。棋盤的運作機制是在 2018 年初完成的,單人玩家可以交替操控兩邊的棋子,不過並沒有 AI 功能。後來就一直閒置在那裡,直到兩年後再翻出來加上一支簡單的伺服器程式,以 WebSocket 作為通訊協定,讓遊戲有起碼的連線對戰功能。
伺服器程式附在原始碼包裡,需要在 Node.js 環境下安裝依賴套件及執行。
Chinese Chess 顧名思義就是象棋遊戲,其實這項小專案在 DR 的程式庫裡沉寂得有點久。棋盤的運作機制是在 2018 年初完成的,單人玩家可以交替操控兩邊的棋子,不過並沒有 AI 功能。後來就一直閒置在那裡,直到兩年後再翻出來加上一支簡單的伺服器程式,以 WebSocket 作為通訊協定,讓遊戲有起碼的連線對戰功能。
伺服器程式附在原始碼包裡,需要在 Node.js 環境下安裝依賴套件及執行。
Pandemic 是一款粗陋的小遊戲……玩家控制一個紅色圓點,得從左側安全區域移動到右側撤離區域,並且須避開中間的黑色圓點。操控方式為鍵盤方向鍵、滑鼠拖曳或在觸控螢幕上點擊任一位置。
操作環境:
WireGuard 是一款著重於高效能、實作簡化及低攻擊面的 VPN 方案,它是以 Linux 內核模組的形式運作,但另有以 Go 語言實作的跨平台版本(wireguard-go)。WireGuard 的設計其實並無伺服端(server)與客戶端(client)的分野,兩個端點(peer)可以用完全相等的設定方式來建立彼此之間的安全連線。不過本文流程還是會將其中一部主機(RHEL)視為伺服端,以服務的形式來管理 WireGuard;另一部主機(Fedora)則會表現得更像是一般的客戶端,並且透過伺服端來轉發連線。
TempleOS 是由 Terry A. Davis(1969-2018)所開發的 PC 單機作業系統,DR 初次聽聞到這款作業系統,是在 2014 年讀到 Motherboard 網站的一篇文章:God's Lonely Programmer。關於其技術面的探討,可參閱由 Richard Mitton 所著的文章:A Constructive Look At TempleOS。至於其它細節則可前往 templeos.holyc.xyz 網站一探究竟。
notcurses 是一款用於開發文字使用者介面(Text-based user interface,TUI)程式的函式庫,起源於作者 Nick Black 希望實現出比 ncurses 更加先進的功能。儘管通常 Linux 使用者若不是使用 GUI,就是做純粹的文字指令操作。不過就許多案例而言,介於兩者之間的 TUI 應用程式還是有它存在的價值,因此若能有更加新穎的開發函式庫問世,自然是樂觀其成。Hacking the planet with Notcurses(PDF)則是由作者親自編寫的電子書指南,倘若有開發 TUI 應用程式的需求,這應是相當有用的參考資源。
最近碰到了一顆 Blackmagic Design 的 H.264 Pro Recorder,它是一款多媒體編碼裝置,能夠接入諸如 SDI、HDMI 等訊號來源,再轉換為 H.264/AAC 串流並經由 USB 輸送至電腦。雖然這項產品的定位並未包含直播功能,在原廠為 Windows 及 macOS 所提供的專屬軟體套件裡,僅能夠對串流做本地播放或儲存的動作。但由於這年頭線上直播的需求增加了不少,使得 DR 必須研究看看是否有物盡其用的解決方案。
操作環境:
眾所周知,微軟已在今年一月正式釋出了以 Chromium 為基礎的 Microsoft Edge 版本,而不再使用自家的 Trident(又名為 MSHTML)瀏覽器引擎。雖然微軟對於 Trident 引擎還是有其它的使用計畫,看似並沒有消亡的情形。不過已經有開發者有感而發地發表了一篇文章:《Today, the Trident Era Ends》,內容以蠻豐富的篇幅介紹了當年 Internet Explorer 網頁瀏覽器(也就是 Trident 的具體化身)的技術創舉,對 Web 技術發展史有興趣的人可以閱讀看看。
儘管 Internet Explorer 曾因諸多問題而留下「萬惡 IE」的臭名,但從文章中可以看到,至少 IE 在積極開發的時期裡,也開創過許多網頁技術的先河。好似獨裁者在成為暴君以致於被推翻前,也曾經是好人一枚。
Mobile Web Bible 是一款網頁式的聖經閱讀器,載入的譯本為中文和合本,介面設計上則主要是針對行動裝置。製作構想起源於自從 DR 換了一支「符合主流生態」的手機後,發現或許是因為可以選擇的聖經軟體太多,要找到合用的應用程式反而是件傷腦的事……倒不如自己做一個來得單純。
話說春節期間從自家的硬體庫存裡,翻出了一顆未曾用過的 Chromecast(二代,NC2-6A5),就想說在 Linux(Fedora 30)上思考看看可以如何使用。不過仍需要在 Android 或 iOS 上,使用 Google Home 應用程式來進行 Chromecast 裝置的初始設定,由於這部份並無可在 Linux 上完成的途徑,所以本文也不會對此多做描述。
完成 Chromecast 初始設定後,在 Linux 上最單純的應用方式,應該是安裝及使用 Google Chrome 瀏覽器。其內建的投放(Cast)功能,能夠搜尋同一網路下可用的 Chromecast,接著就可以將瀏覽器上所開啟的網頁或媒體,投放至 Chromecast 所連接的電視或螢幕上。除此之外也可以投放指定的應用程式視窗,或者是投放整個桌面畫面 。