2018年9月18日 星期二

gtk3 軟體的外觀設定: 請給我明顯的 「目前分頁」 頁籤!

有一個小問題一直困擾著我。 這幾年我用的 OS 是 lubuntu, 所以自從 roxterm 作者不再更新之後, 預設的 lxterminal 就一直是我的日常終端機。 但不論是 lxterminal 或是新發現的 sakura 終端機, 它們的每個分頁上方的頁籤都長得一模一樣, 全都是灰色。 今天終於成功修改設定檔, 讓 「目前分頁」 (active tab) 變得比較醒目 -- 雖然還是沒有很懂 gtk 的運作。

精簡扼要、 不拖泥帶水的終端機 sakura

今天要介紹的不是櫻花牌熱水器, 而是 sakura 終端機。 自從 roxterm 開發者被 GTK 3.2 打敗 之後, 較新版本的 debian 跟 ubuntu 再也沒有 roxterm 可用。 還好找到 sakura, 恰好符合我對終端機最基本的需求 (有分頁、 16 色) 而且跟 其他終端機 比起來, 它需要的相依套件最少, 不會牽拖一大堆親戚住進你的系統。。

2018年9月11日 星期二

三種方式產生 scatter plot / bubble chart

太陽系較大的一些衛星的軌道半長軸及公轉週期 資料視覺化的 常用圖形類別 當中, 我最喜歡用 scatter plot (散點圖) 以及它的變形 bubble chart (氣泡圖), 因為 scatter plot 能用位置 (X-Y 座標) 及顏色把一張試算表的兩個數值欄位及一個類別欄位同時呈現在一張圖上; 而 bubble chart 則再補上 「圓圈大小」, 較 scatter plot 更多展現出一個數值欄位。 為了畫 bubble chart, 暑假我繞了好多遠路。 最後找到最簡單的方法, 把一些重點提示摘要在這篇裡。 從這篇快速起步之後, 每一種方法當然都還有更多本文未提及的參數可以調整, 請自行搜尋/查手冊。 程式碼及資料檔 (satellites.csv) 放在 github 的 ckhung/scatplot; 範例圖的物理意義請見 重新發現克卜勒第三定律

2018年9月2日 星期日

資料視覺化幫我重新發現克卜勒第三定律

如果你沒空看 18 分鐘的 TED 演講 Hans Rosling 用前所未有的方法詮釋數字統計, 那麼至少要欣賞一下這個 4 分鐘的短片 「200 年, 200 個國家」:

資料視覺化可以幫我們從枯燥的數字當中, 一眼看出奇特、 令人驚訝的現象。 而且即使我們手邊沒有任何特殊的資源, 還是可以玩出一些有趣的東西。 今天我們要重新發現 (天文學上的) 克普勒第三定律。

2018年8月30日 星期四

用 lynx 加 perl 的 csv 句型從網頁裡的表格產生試算表

如果說 三大 regexp 句型 是 「懶得學 perl 程式語言的系統管理員必學的三句 perl」, 那麼今天要介紹的就是第四重要的 perl 句型: perl -F, -nale 'print join(", ", @F[2,5,6])' 姑且就稱它為 perl 的 csv 句型吧。 它跟文字瀏覽器 lynx 合作, 可以把網頁的表格抓下來變成試算表。 當你不想為了一點小事開啟 calc 時, 就用它們來馴服 .csv 檔吧。

2018年8月28日 星期二

科普貴教你天天自助 calc 便宜股撈明牌

這篇其實是 LibreOffice Calc 的 「連結外部 csv 檔」 教學, 只是拿台股來作例子比較有實用感、 可以提高大家的學習動機 :-) 不需要唸資訊科系、 不需要寫程式, 只需要一部 linux 電腦, 並且略熟試算表函數, 例如 vlookup 及 iferror 等等即可操作。

2018年8月23日 星期四

程式設計老手的股市初學淺見

多年以前就買過股票, 但根本就是矇著眼睛亂買, 也曾聽信名嘴買到下市股票。 最近為了籌退休金, 才開始認真爬文讀書學習股市常識。 還沒開始賺錢, 但現在買得很有方向感、 很心安。 真的, 沒有做功課就不要隨便進股市; 但做功課其實並沒有一開始想像的那麼困難。

2018年8月3日 星期五

matplotlib 畫圖時採用 ttc 中文字型

想要在 Ubuntu 18.04 底下用 python 的 matplotlib 畫圖, 第一個遇到的問題就是中文顯示。 這篇簡體中文教學文 onepiece_dn的专栏 寫得很清楚, 照做就成功了。 不過我想要改預設值, 不想每一句話都指定中文字型。 另一篇 ButteredCat 寫的簡中文章 解釋詳盡。 因為我用的字型是文鼎的 uaki.ttc 所以還需要再多加一步: 從 ttc 裡面把 ttf 挖出來。 以下是修改過的簡要步驟及程式碼; 詳細說明請參考上述連結。

2018年8月1日 星期三

自架臉部表情判讀服務

臉部表情判讀示範 -- 「驚訝」 請看一下 原始網站: 我把這個判讀臉部表情 (及性別) 的程式 複製回來並小改一下, 然後打包成 face_classification docker 讓大家玩。 情緒判斷還蠻有一點像的; 可是鬍子先生為什麼竟然被判斷成女性呢?

2018年7月26日 星期四

躲在 apache2 後面的 flask 範例, 含上傳檔案

flask 躲在 apache 後面, 銜接 ML/DL/AI 引擎 github 上面很多 ML/DL/AI 程式都以 python 撰寫, 可以從命令列執行。 但如果想要佈署, 例如想讓樹莓派可以把野外蒐集到的畫面或聲音傳回伺服器用 AI 程式判讀/分類, 那該怎麼辦呢? 常見的方法是用 flask 架一個簡單的 web server。 Flask 是 python 的一個模組, 所以從那裡要接上 python 所寫的 ML/DL/AI 引擎很方便。 Flask 單獨作為 web server 的方法很簡單, 請見 中文教學 官網。 但若你的伺服器已有 apache2, 要怎樣才能把 flask 接上去呢?

2018年7月23日 星期一

在 docker 裡面跑 GUI 程式

一開始玩 docker 主要都是為了伺服器的應用 (例如 ethercalc ldap), 所以只需要文字介面。 最近玩 ML/DL/AI 程式, 經常需要顯示圖片。 每次都要在 docker 裡面用 AI 程式在分享的目錄裡產生圖片, 再從外面 (host) 用看圖軟體看, 有點囉嗦。 如果是影片, 就更麻煩了。 搜尋到這篇 Running GUI apps with Docker, 略微修改他的做法, 得到以下簡單步驟讓你可以在 docker 裡面執行圖形介面程式並直接顯示在 host 實體機的 X Window 環境。

2018年7月21日 星期六

Android-x86 Nougat 版

三年前曾經介紹過 android-x86 4.* 版。 前陣子為了上課需要, 再次試玩。 現在的 Nougat 版 (7.*) 已可安裝 google play; 不過目前對我來說, 有 f-droid 就夠了。 64 bit 好像沒什麼特別用處, 從官網下載 32bit 版本好了: android-x86-7.1-r2.iso。 另外, 我試過 CM 版 (CyanogenMod), 但是安裝完成後第一次開機要半小時、 adb 不能用、 有時安裝會卡在選語言的畫面。 總之還是用原始的 android-x86 比較穩。