Terminal 的 Dark Theme

在「Automatic dark mode for terminal applications」這邊看到讓 terminal 的一些程式支援 Dark Theme 的方式,裡面引用的是「Automatic dark mode for terminal applications」這篇。

可以看到因為 terminal 下沒有標準,所以得 hack 事件發生時要送出的指令,文章裡面給出了 Vim (以及 Tmux)、Alacritty 這幾套程式的 hack。

不過這些 hack 過程算詳細 (而且有說明整個原理),如果有其他 terminal 下的程式有支援 Dark Theme 的話也可以用類似的邏輯套進去。

LED 燈泡的壽命

在「What Happened to the 100,000-Hour LED Bulbs?」這邊看到在討論 LED 燈泡的壽命。比較感興趣的是到底業界怎麼計算 LED 燈泡的壽命。

前面提到很多因使用時間的增加而產生衰退與色偏,然後講到「壽命」的定義是,超過一半的燈泡低於 70% 的原始亮度所需要的時間:

Research says that most users won’t notice a gradual 30% drop in light levels; accordingly the industry has defined L70, the time at which the output has dropped to 70% of its initial level, as an endpoint for measuring LED bulb lifetime. Based on how it’s estimated, this measure is typically stated as B50-L70, the point at which 50% of an initial sample of bulbs will retain 70% of their rated output.

另外一個有趣的資料是,LED 燈泡故障的原因中,電源供應相關佔了最大的比率 (過半):

算是個有趣的知識...

第一次拿 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

各種道路設計對於流量的影響?

在「The rates of traffic flow on different kinds of 4-way intersections」這邊看到有趣的東西,利用遊戲 Cities: Skylines 模擬各種道路設計對流量的影響:

This is an animation of traffic flows simulated on 30 different kinds of four-way junctions, from two roads intersecting with no traffic lights or signs to complex stacked interchanges that feature very few interactions between individual cars. It was recorded in a game called Cities: Skylines, a more realistic take on SimCity.

影片在這:

記得這是模擬,實際情況會有其他考量,所以裡面的結果參考就好...

然後裡面有看到很多常見的設計,還有一些沒看過的神奇設計 XD 另外有些設計超級複雜,第一次開的人真的會知道怎麼開嗎 XDDD

夜視功能

在「Incredible low-light camera turns night into day」這邊看到這個示範影片:

軍用品,換算 ISO 可以達到 5M:

The camera was developed for military use, has an effective ISO rating of 5,000,000, and has a comically long name: “X27 Reconnaissance Day/Night high Fidelity true real time low light/low lux color night vision Imaging Security / Multi Purpose camera system”.

新的 Mac Mini

為了螢幕的問題弄得相當疲倦 XD

這幾天可以在一般的店家通路買到新的 Mac Mini,但沒事先做好功課,配上 Dell U2711 讓人碰了不少壁...

買完 Mac Mini 後第一個想法是用 DVI & USB KVM 同時接 PC 與 Mac Mini,於是順便買 ATEN CS682,裝上去後發現只能支援到 1920×1080... 想想算了,其他地方也還用的到。

第二天再去光華商場找一條 DVI 線 (U2711 有兩個 DVI 接頭),要接上去後發現是 HDMI 轉出來的線而發現不妙,因為 Mac Mini 的技術規格看起來沒有支援 HDMI 1.3 (可以到 2560×1600),實際接上去後發現轉出來的 DVI 也只支援 1920×1080。

然後查了一下發現可以用 Thunderbolt 當作 Mini DisplayPort 接到 DisplayPort 上面。(蘋果的網站有說明必須是最後一個 device:「顯示器:Mini DisplayPort 顯示器必須是 Thunderbolt 鏈結中的最後一個裝置」)

星期五再去戰一次,大概有幾個選擇:

  • 買一條 Mini DisplayPort 轉 DisplayPort 的線,把 Thunderbolt 當作 Mini DisplayPort 用掉,之後有機會用到 Mini DisplayPort 的時候再說。
  • 買 Thunderbolt 轉 DVI 的轉接頭。(不知道有沒有這東西)

至於 KVM 的話暫時就先不考慮了...