使用 RSS 的呼籲

在「Please Add RSS Support To Your Site」這邊看到文章作者在呼籲使用 RSS (這邊應該是包括 Atom)。

主要是 RSS/Atom 算是很成熟的架構了,有很多工具可以閱讀 (RSS/Atom Reader),提昇閱讀的效率。像我是用 Bazqux,另外也有不少人在使用 Feedly... 而除了訂閱外,RSS/Atom 也可以再串出去接其他東西,像是串到 IFTTT 後就可以接上 IFTTT 上面的應用程式。

除了文章作者的呼籲以外,我自己也對我自己常用的網站操作 (在 GitHub 上的 hasname/feedgen 這邊),把網頁結果轉成 RSS/Atom (裡面大多就是去讀 search 相關功能了),這樣有新東西就可以透過 RSS/Atom Reader 讀到...

Hacker News 的三種 feed

Hacker News 上有不少人會貼東西上去,算是個不錯的新聞或是消息來源,但這麼多資料要怎麼挑著看,這邊介紹三種不同更新頻率的 feed 可以訂閱。

第一種是每個禮拜一篇的「n-gate.com. we can't both be right.」,不過這個站的字型故意使用 Comic Sans,會需要拿個 Stylus 改一下,我是改成 sans-serif,就順眼多了...

第二種是每天一篇的「Daily Hacker News」。

第三種是官方的 feed,會一直更新,頻率最高:「Links for the intellectually curious, ranked by readers.」。

我是三個都訂起來,至少討論得很熱的會出現好幾次...

第一次拿 Headless Chrome (Chromium) 出來玩...

前陣子發現 PChome 24h 的輕小說 Atom feed 掛掉了 (在 gslin/pchome24h-feed 這邊),看了一下頁面發現換 url 了,而且從 BIG5 變成 UTF-8 (賀!!!),但變成大量的 js call 產生資料產生頁面 (還不是 ajax 的 JSON),而且有一堆奇怪的 magic number 在裡面 (感覺會因為改版就產生變化 XD),就懶得再自己組出來了,決定玩看看 Headless Chrome 練個功...

Chrome 從 2017 年七月的 59 版就推出了 Headless 功能 (stable channel 的時間),也因此在去年四月的時候 PhantomJS 就決定停止維護下去:「Google Chrome 的 Headless 模式與 PhantomJS 的歷史」。

官方的文件「Getting Started with Headless Chrome」寫的很完整,而且也可以看到 Headless Chrome 把常見的功能都先實做完了。在不另外裝軟體的情況下就可以做很多事情。像是直接把生成好的 DOM 轉成 HTML 丟出來:

chrome --headless --disable-gpu --dump-dom https://www.chromestatus.com/

或是把頁面輸出成 PDF,或是輸出成圖片 (screenshot.png):

chrome --headless --disable-gpu --print-to-pdf https://www.chromestatus.com/
chrome --headless --disable-gpu --screenshot https://www.chromestatus.com/

也可以直接開 js console 出來互動:

$ chrome --headless --disable-gpu --repl --crash-dumps-dir=./tmp https://www.chromestatus.com/
[0608/112805.245285:INFO:headless_shell.cc(278)] Type a Javascript expression to evaluate or "quit" to exit.
>>> location.href
{"result":{"type":"string","value":"https://www.chromestatus.com/features"}}
>>> quit
$

在文件後面也提供了大量範例,教你怎麼用 Selenium + WebDriver + ChromeDriver 操作,順著用裡面的範例找一下 Python 會怎麼寫就寫好了... 之後也機會來測試 Firefox 好了 :o

Twitter 上看到 Intel Atom C3950 這顆 CPU...

Twitter 上看到「Intel Atom C3950 + Tyan Tempest S3227」這篇文章,裡面提到了「Intel Atom® Processor C3950 (16M Cache, up to 2.20 GHz) Product Specifications」這顆 CPU...

建議售價 USD$389,然後 16 Cores (沒有 HT,所以是 16 Threads) 只吃 24W,可以吃到 256GB RAM,不過 Max CPU Configuration 是 1,先記起來好了...

Intel 推出包含 3G/LTE 的 SoC

在「Intel Announces Atom x3, x5 and x7, First SOCs With Integrated 3G and LTE Modems」這邊看到 Intel 推出包括 3G 或 LTE 的 SoC。Slashdot 的文章引用自「Intel Announces Atom x3, x5 and x7, First SOCs With Integrated 3G And LTE Modems」這篇。

Intel 的新聞稿可以看「Intel Launches New Mobile SoCs, LTE Solution」這篇。

相較於其他 ARM 上的繁榮光景,Intel 自己總算往市場丟出些東西了...

銀行 (信用卡) 的最新優惠消息...

已經好幾次遇到「根本不知道有哪些優惠」的情況了,去找 feed 沒幾家有做,只好自己做一個來生 Atom feed:「Useful Feeds」。

網站的程式碼放在 GitHub 上,要改的人可以開 ticket 或是直接 fork + pull-request,目前還有很多地方需要修正 (像是 Atom feed validator 問題)。

出了信用卡的以外,之後如果有遇到需要加的功能會再加上去...

請支援 PubSubHubbub...

PubSubHubbub 對於內容提供者 (包括 Blog Platform 或是 Micro Blogging Platform) 已經是很簡單的協定了,不僅可以增加更新速度,還可以降低伺服器 loading,不過國內幾個平台還是沒人支援啊...

首先是標準規格書:「PubSubHubbub Core 0.3 -- Working Draft」,不過這文件對於要支援 PubSubHubbub 的 content provider 不是很重要,只要把裡面的觀念看懂就好。

PubSubHubbub 中有三種不同身份,可以用不同的伺服器跑。一個是內容提供者 (Publisher),一個是訂閱者 (Subscriber),另外一個是 Hub。內容提供者在這邊的例子就是 (Micro/) Blog Platform,而訂閱者可以是 Google Reader,Hub 則是中繼角色,目前有 Google 提供的服務可以用,也有 open source 軟體可以自己架。

第一步,內容提供者在先在 feed 中加入一個或多個 hub 位置,像是這樣:

<link rel="hub" href="http://pubsubhubbub.appspot.com" />
<link rel="hub" href="http://superfeedr.com/hubbub" />

第二步,當該 feed 有更新時送出 ping 給 hub,這部份假設用 PerlNet-PubSubHubbub-Publisher 做的話則是:

my $pub = Net::PubSubHubbub::Publisher->new(hub => 'http://pubsubhubbub.appspot.com');
$pub->publish_update('http://admin.pixnet.net/blog/feed');

就是這樣子而已!