把 Ptt 網頁版 Imgur 的圖片換回來...

Ptt 網頁版不知道什麼時候開始把 Imgur 的圖片變成 embed 版本了,圖很小又有留白一堆東西,看起來不太舒服...

剛剛寫了個 Greasemonkey script 換回來:「gslin/ptt-imgur-cleaner-gm」。已經有安裝 Userscript 管理軟體的,可以在 OpenUserJS 上安裝:「Ptt Imgur Cleaner」。

程式做幾件事情,一件是加上 meta tag 不要送 Referrer,然後用圖片換掉 Imgur 產生出來的 iframe,另外一個是把 .richcontentmax-width 設為 100%。

這樣看 Ptt 的文章應該會方便一些...

Update:結果有朋友說當初是因為被 Imgur 擋掉所以才換成 embed 的... (大概是量太大的關係)

Yuren Ju 的 ptt redirect:從轉載網站自動轉回 Ptt 原文

Twitter 上看到的 Google Chrome Extension 專案,針對轉載自 Ptt 的網站自動轉回 Ptt 原文:

程式在「ptt redirect」這邊,而原始程式碼在 GitHub 的「yurenju/ptt-redirect」這邊。

目前只支援 disp.cc,應該還有好幾個站可以支援...

Ptt 新版使用者條款的問題...

剛剛登入發現需要同意新版條款 (2.0),但有條文有問題啊...

1-2 的部份:

任何資料一經您上載、傳送、輸入或提供至本站時,除私人信件外,視為您已同意本站為非營利之無償使用、修改、重製、公開播送、散布、發行、公開發表該等資料,並得將前述權利在保留原作者資訊前提下,轉授權為非營利之使用(轉授權部分本站將列舉轉授權之網站並公告於本站 Announce 板,非本站或本站轉授權之網站未經同意使用您之資料,仍為侵權)。您並應保證本站使用、修改、重製、公開播送、散布、發行、公開發表、轉授權該等資料,不致侵害任何第三人之權利,否則應對本站負損害賠償責任(包括但不限於訴訟費用及律師費用等)。

以下資料在本次條文修正時表示站方可以將以下資料公開散佈:

  • 個人訊息 (水球紀錄)
  • 個人資料 (因為是你在註冊時輸入進去的)

後者由於受到「個人資料保護法」的法律保護,這項條文在碰觸這塊時會有很多可以防禦的方法。但前者明顯是漏洞...

然後我以為官方站名中的「BBS」這個詞彙應該大寫?不知道會不會出 2.0.1...

Google Chrome 上自動驗證 Ptt 十八歲年齡的工具

Ptt 有年齡限制的看板總算是開放 Web 存取了,但有個確認畫面要點總是頗麻煩 XD

前幾天寫了一個 Google Chrome 套件「Ptt Over18」可以自動幫你點確認按鈕:

暫時沒想到要用什麼 icon & 抓什麼畫面,回台灣再說,在日本只想睡覺吃東西... XD

Group.NCTU.edu.tw (2003~2013)

2003 年寫的 Group.NCTU.edu.tw,在歷經 10 年後終於歸西:

2003 年時要跨 BBS 站轉信,除了直接 innbbsd 對接外,另外一種方式是架設 News Server,讓各站透過 News Server 轉信。前者用在轉信站比較少的情境下 (因為是 O(n^2) 的設定成本),後者則是用在轉信站比較多的時候 (是 O(n) 的設定成本)。

當時幾個大站都有自己的 News Server 可以提供這項服務,包括 Ptt 的 Wrap,KKCity 的 news.kkcity.com.tw,以及無名小站 BBS 的 News Server。但即使如此,這些站台都是人工設定,每設定一次轉信要花不少時間。

當時剛好舊的 ccreader.nctu.edu.tw 退役 (印象中是一台 Pentium III 450 與 512MB RAM 的機器,掛著 10 顆各 4.3GB 的 SCSI 硬碟),就跟 cschen 要了一個 IP 與 domain,把原來的 ccreader 重新整理後,用 PHP 寫網頁的部份,Perl 拿來處理後端對 INN 的操作。而使用條款則是自己胡亂寫一通後就上線了...

上線後除了我自己的站丟上去用以外,我就開始找人用。因為當時 Ptt 的 Wrap 常常掛掉,就跑去找 in2 講,馬上就搬過來了:


原來在 SYSOP 板的那篇找不到了,只找到這篇...

過沒多久我就跑去找簡志宇問他要不要把無名的轉信 policy 也換過來。然後隔年我去 KKCity 打工的時候也說服當時站方把 news.kkcity.com.tw 凍結。

到這邊之後,就很少看到台灣還有在自己架 News Server 了... (掩面)

之後 Group.NCTU.edu.tw 再加上 RSS 的功能 (後來爛掉了),以及加上 e-mail to usenet 功能 (這功能我自己一直在用,所以沒讓他爛掉),開發完這兩個功能後也就丟著沒開發了。最多就是想到的時候上去更新 OS & ports。

後來出社會工作,再加上 twbbs.org 商業化其實我不是很開心。整個系統放著 10 顆 SCSI 硬碟跑 RAID0,雖然有備份,但其實已經沒打算要在上面弄東西了,只是沒想到最後居然是掛在 SCSI 卡上面... 這批硬碟除了這十年外,還得加上先前 ccreader 的使用,差不多十五年還沒壞,早期的硬碟真的很神猛...

掛掉後有人問我為什麼不把備份資料弄一弄再開站,除了上面講的原因外,現在交大的環境也不適合再弄這樣的服務了... 如果要繼續服務的話我希望在外面重新寫一份,而不是拿原來的資料與架構繼續做。

最後,還是得感謝當年交大計中願意提供資源讓架設這個服務。當年我從上面學到很多東西,不僅僅是程式而已,還包括第一線客服並且了解使用者想要什麼。

把 screen 的 BIG5 換成 UAO (Unicode-At-On,Unicode 補完計畫) 版本...

目前 Ptt 上使用者用的編碼不是單純的 BIG5,而是 BIG5 加上 Unicode 補完計畫的版本 (拿了 BIG5 的造字區去對應某些常用的缺字)。

如果用 BIG5 去看假名就會變這樣:

所以在 Ubuntu (系統內建的 Terminal) 或是 Mac OS X (用 iTerm2) 上 Ptt (以及 Ptt2) 時都是用 BIG5-HKSCS 編碼,可以顯示日文假名:

不過還是可以看出來漢字不太行,所以還是去找了 UAO 的方案...

第一個想法是直接換掉系統的 BIG5,反正只剩下 BBS 用途要用了,就一次換掉。不過找了半天沒看到現成的工具,雖然在「Mozilla 系列與 Big5 中文字碼」有表可以轉,但還是懶的改...

另外一個是 GNU Screen patch,依照「Screen + Unicode-At-On」這篇的方式,可以生出一個 UTF-8 terminal + converter (GNU Screen),效果就是這樣:

可以看到漢字也出現了... 來找看看要怎麼把 patch 包進 FreeBSD ports 好了...

INN 裡 mailpost 需要修正的部份...

上個禮拜把 Group.NCTU.edu.tw 遠端升級到 7.4-RELEASE (從 6.4-STABLE),但有人寫信反應,從 Ptt 透過信件貼到板上會失敗,找不到之前 patch 的重點,只好從頭開始一個一個解,總算是解決了:

  • 當信件內沒有 Date header 時,mailpost 會送出錯誤的 Date 欄位。目前的解法是直接不送 Date 欄位。
  • 當同一封信件寄到不同信箱時 Message-ID 會相同,不能直接帶入 newsgroup 中。目前的解法是無視信件內的 Message-ID,自己生一個。

現在這樣應該是正常了...

Pacman 的規劃

玩了幾天 Pacman,整理一些資料...

安裝完成後,預設可以使用的 package repository 可以在 /etc/pacman.conf 內看到,包括 core (目前約 340 個)、extra (~4500),以及 community (~3400)。

另外有幾兩個測試性質的,預設是關閉的。一個是 testing,另外一個是 community-testing,裡面的量都不多。

除了這些以外,使用者自己也可以提供新的套件,官方有提供 AUR (也就是 unsupported),任何人都可以註冊並且上傳,也因此所以有可能會包括有安全問題的 code。所以有 TU (Trusted Users) 的制度,當一個 package 使用的人夠多 (在「AUR Trusted User Guidelines」有說明),而且 TU 確認沒問題後就會 update 到 community 內。

要安裝 unsupported 的軟體必須必須自己下載 AUR 的 source tarball (裡面有 PKGBUILD 以及其他設定),並且確認沒有 malicious code 後再用 makepkg 安裝。

另外 Gmane 有收 ArchLinuxmailing list,習慣用 BBS 讀的人可以抓下來看。

在同一台機器上同時有 BIG5 與 UTF-8 Terminal

因為連上 BBS 還是透過 BIG5 比較方便,所以現在會在同一台機器上掛 BIG5 的 screen 與 UTF-8 的 screen。

首先是修改主機的 /etc/ssh/sshd_config,增加 AcceptEnv LANG,表示 server 會接受 client 所送出的 LANG 環境變數,然後在 PuTTY 的設定裡將 LANG 設為 zh_TW.Big5 或是 en_US.UTF-8 (或是 zh_TW.UTF-8):

登入後 LANG 變數就會被帶進系統內。

然後,vim 會判斷 locale 而決定 encoding 及 termencoding,所以本來寫死的部份都要拿掉。

這樣在 BIG5 環境下可以連上 BBS,用 vim 編輯一些資料...