檔名式的程式遞迴法

最近 DR 工作的地方開始使用線上打卡系統,來取代原本以門禁刷卡做出缺勤管理的方式。而這項變化也不免讓人思考,是否有更加自動化的打卡方式?由於 DR 上班做的第一件事就是將電腦開機,至於關機則也是下班時的固定動作。於是便嘗試利用 Python 及 Selenium 撰寫了一支打卡程式,然後設法將它結合在電腦開關機的程序裡。

 

使用的作業系統為 Windows 7,一開始 DR 是將打卡程式加入到群組原則(gpedit.msc)的啟動 / 關機指令碼裡,但測試結果並不是很理想。於是便改為將程式捷徑放進使用者的「啟動」資料夾裡,讓打卡程式在進入桌面後自動執行。

 

至於關機的部份,則是再寫一支名為 shutdown.bat 的批次檔。該批次檔的作用是先後執行打卡程式及關機指令,因此只要使用者(也就是 DR 自己)的關機操作方式改為點選該批次檔,便會在關機前執行打卡動作。批次檔的內容如下:

@echo off
time_clock_automatic.py
shutdown /s /t 30

 

分類: 

Captain America: Civil War - 原來分裂比團結還好看

實在很難不將本片與先前的《蝙蝠俠對超人:正義曙光》(Batman v Superman: Dawn of Justice)做比較。雖然在 DR 的觀點裡,兩部電影存在一些相似的問題,以及同樣無法被認真檢視的部份(例如故事邏輯性)。但無論如何,本片在架構上具有優勢,更容易就能滿足普羅大眾的喜好。

 

 

分類: 

How-To:Linux 安裝 PCSX2

操作環境:

  • Fedora 23
  • PCSX2 v1.4.0

 

PCSX2 是一款針對 PlayStation 2 家用遊戲機的模擬器,然而其實 DR 是純粹的 PC 遊戲玩家,對於遊戲機幾乎沒有什麼涉獵,會想要安裝模擬器的原因只是單純想玩玩看《Tribes Aerial Assault》(2002)這款遊戲。由於這款 PS2 遊戲已經由官方免費釋出映像檔,因此任何有興趣的人都可以嘗試看看。

 

1. 安裝 PCSX2

Serious Engine 1 原始碼釋出

Serious Engine 是由克羅埃西亞的 Croteam 所開發的一款遊戲引擎,由於這款引擎主要用於開發 FPS 遊戲《重裝武力》(Serious Sam)系列,故有此名。至今 Serious Engine 已歷經有數代的演變,而它的第一代引擎則在日前以 GNU GPL v2 許可證釋出,可於 GitHub 取得:

https://github.com/Croteam-official/Serious-Engine

 

分類: 

10 Cloverfield Lane - 片名是唯一的缺點

電影《銀翼殺手》(Blade Runner,1982)及《兵人》(Soldier,1998)的編劇 David Webb Peoples 曾經自承,在他的構想裡,這兩部電影其實是發生在同一個宇宙中,因此它們之間共用了一些非常細微的元素。然而除了編劇自己的思緒外,兩部電影完全是大相逕庭的,而片商也沒有在片名或宣傳上做出任何連結。

 

 

分類: 

Batman v Superman: Dawn of Justice - 一將功成萬骨枯

孫子曰:「上兵伐謀,其次伐交,其次伐兵,其下攻城。」但在萬眾期待之下,兩位超級英雄的腦袋卻彷彿都少了根筋,只能一步步走向生死對決一途。最終這場衝突也間接造成了無數生命財產的損失,進入了一種「我想拯救蒼生,蒼生卻因我而死」的悖論。

 

 

DR 覺得在進戲院看這部電影之前,其實應該要先做一點心理建設。那就是得認知到,超級英雄題材中的「好人對決」就有如科幻題材中的「時空旅行」一般,它的本質即是不合理的,若認真探究下去,其實本來就禁不起邏輯的考驗。

 

勢必可以創造出多種原因和故事走向讓超人跟蝙蝠俠大戰一場,來滿足本片的標題。雖然 DR 一時之間並不覺得本片在劇本上做出了最佳選擇,但顯然也不是太糟的選擇。而且 DR 真心認為,這並不是一齣好寫的劇本,事後在旁邊指指點點很容易,但若實際執行起來則應該沒有人會敢說簡單。

 

分類: 

How-To:Linux 安裝 Forsaken

操作環境:

  • Fedora 23
  • ProjectX v1.18.2546

 

《浩劫餘生》(Forsaken ,1998)是一款 3D 動作射擊遊戲,其遊戲內容類似於《天旋地轉》(Descent)系列,也就是所謂的「六軸空間」(six degrees of freedom,6DoF)遊戲,玩家所操控的載具可以不受重力限制,自由地做出各種令人暈頭轉向的翻轉運動。

 

當年這款遊戲可說是貴族級的遊戲之一,因為玩家必須擁有當時還不是很普及的 3D 加速卡 / 顯示卡,才能夠充分體驗其主打的視覺效果。也因此,這款遊戲在當時還經常被硬體廠商選為展示遊戲,甚至是隨硬體免費附贈此遊戲。

 

How-To:Linux 安裝 MAME

操作環境:

  • Fedora 23
  • MAME v0.170

 

MAME 是一款知名的大型機台模擬器,這款模擬器軟體不僅歷史悠久、功能完善、並且還可在多種作業系統上執行。其操作方式簡而言之,就是在模擬器裡載入特定的遊戲 ROM 便能夠執行該遊戲。不過部份遊戲還需要載入額外的 BIOS ROM 方能執行,例如 Neo Geo 機台的遊戲等。

 

除此之外,使用者還需要留意 ROM 與 MAME 版本的相容性,因為隨著 MAME 版本的演進,某些 ROM 可能會變得不相容而無法順利執行,在此情況下就得改用相容於 MAME 新版本的 ROM。

 

大量文字檔編碼轉換

一座古蹟應該要修繕到什麼程度,有時候還真是個好問題。

 

話說本站的前一個版本(v5)是由靜態的 HTML 網頁檔所組成,數了一下,總共有 249 支網頁檔位於舊網站的目錄中,而其中絕大多數是採用繁體中文的 Big5 編碼。然而日前 DR 看著看著,突然覺得這些編碼應該要統一成 UTF-8 才是,於是便開始構思應該要怎麼處理才好。

 

雖然一開始很自然而然就會想到 iconv 這支工具,但隨後很快就會意識到,這項需求實則需要更加精細的功能。它應該要能夠偵測檔案的編碼,而不是僅檢查 <meta> 標籤的 charset 屬性,然後根據偵測結果來決定是否需要執行編碼轉換。除此之外,它也要能夠在轉換後自動修改 charset 屬性。

 

分類: 

How-To:Linux 安裝 Wine

操作環境:

  • Fedora 23
  • Wine 1.9.3 (Staging)

 

Wine 是一款開放原始碼的軟體相容層(compatibility layer),其宗旨是在 Unix-like 平台上提供 Windows 應用程式的可執行環境。儘管它並不屬於模擬器(emulator)的類型,但其作用對於終端使用者而言,實則與模擬器無異:讓使用者可在 Linux 平台上執行 Windows 應用程式。

 

頁面

Subscribe to DarkRanger's Secret Area RSS