2018年12月11日 星期二

拿公投統計資料學 pandas

以前我都用 perl 處理文字資料, 例如 regexp csv 句型 都很好用。 但是現在大家都用 python, 我當然也要跟著趕一下流行啊~~ 處理試算表類型的資料時, python 程式設計師最常用 pandas 函式庫。 它也是玩機器學習或資料科學一定要學東西。 繪圖的話, matplotlib 跟 plotly 都很好用。 就讓我們拿中華臺北人很有感的十項案公投結果統計資料來當 pandas / matplotlib / plotly 的入門範例吧!

2018年11月26日 星期一

DataTables 的固定表頭、 排名、 置中

先前寫的小程式 jesp 可以拿來把好幾個 csv 檔 join 在一起, 並且方便按照任何欄位排序。 其中表格資料好用的互動排序功能, 靠的就是 jQuery 的 DataTables 外掛。 兩年多前曾在 「jQuery 無痛讀檔」 裡初次使用; 現在重學一次, 並且選用幾個好用的效果。

2018年11月25日 星期日

處處訝異的怪怪語言 php

最近用 php 寫了一個小程式 jesp 可以拿來把好幾個 csv 檔 join 在一起, 並且讓訪客可以很方便地按照任何欄位排序。 過程當中發現 php 語言有很多怪怪的地方, 包含表達能力不足的設定檔、 用過一次就會有意外副作用的 referenc 變數、 不能疊起來的三元運算子。 這真是一個處處充滿詫異的神奇語言啊~~

2018年11月19日 星期一

在手機上開啟本地的 html 跟 svg 檔

Android 作業系統的自由度遠遠不及 GNU/Linux。 例如瀏覽器的功能明明就可以開啟 html 檔或 svg 檔, 但若這個檔案在本地而不在雲端, android 手機就是不提供 「以瀏覽器開啟」 的選項。 我覺得這是 google 的陰謀 -- 就像 chrome 的禁讀令 一樣, 它希望你把一切都移到雲端去, 或是一定要逼你打開一個特定的 app, 總之就是不讓你很方便地用通用的瀏覽器做事。 不管是不是陰謀, 總之這個沒有意義的限制其實是可以繞過去的: Svg 圖檔 (含 sozi 簡報) 及 html (在某些情況下, 甚至包括內含 javascript 的 webapps) 也都可以透過 「open in browser」 這個 app 搭配適當的瀏覽器來開啟。

2018年11月4日 星期日

novnc: 有瀏覽器就可以連上線的遠端桌面

novnc 架構 VNC 是遠端桌面連線程式, 也可以當成電子白板或廣播教學軟體來用。 以前就有聽說過: 如果採用 novnc, 那麼客戶端可以不必安裝任何程式, 只要有瀏覽器就可以連線。 這學期我終於開始用這個方法上課。

2018年10月25日 星期四

逢低買進, 越跌越買? 請先確認不是「空頭排列」

貴哥今年才開始認真學股票, 學了一點點 粗淺的財報常識, 甚至寫了不專業的撈股程式及 撈股試算表 來自嗨嗨(害?)人。 至於 K 線/技術分析, 雖然爬了很多文 (中英文!) 但都不得要領。 最近終於領悟到一件超級重要的事, 分享給其他跟我一樣技術分析能力趨近於零的股友們: 如果你這一輩子只打算花半小時研究 K 線, 那就以搞懂這句話為目標就好: 空頭排列時嚴禁下買單! 股海老手看到這句話應該會很訝異: 這不是最簡單的常識嗎? 是的; 但對我們這些股票麻瓜而言, 當這句話跟其他複雜的狀況與規則混雜在一起時, 早就一頭霧水眼花撩亂霧煞煞、 完全失焦找不到重點了。 所以我就是要針對這句話寫一整篇文章、 加深印象, 讓小格的讀者們別再重蹈我的覆轍。

2018年10月17日 星期三

YOLO 自動框出相片裡的人/動物/生活用品

yolo3 測試結果: 街道圖/動物圖/餐桌圖 今天介紹的這個神奇好物, 看圖就知道了。 我偷懶把三張圖擠在一起。 底層是繁忙的街道圖; 左上是森林裡幾隻吃素的 (絕對不包含韓國瑜); 右上是巴黎鐵塔餐廳的一張餐桌。 神奇的 YOLO 技術 把圖裡的人/動物/物件都標示出來了, 而且, 在 cpu-only 的電腦上, 每張圖只花幾秒鐘!

2018年10月9日 星期二

影片裁剪合併/放大縮小/快轉慢播的萬用工具 ffmpeg

處理影片檔的工具很多; 但如果需要大量批次處理的話, 當然要學 ffmpeg , 因為你可以把它寫到 shell script 裡面去。 先前在玩 畫風轉移魔法 時, 繞了一些遠路, 不小心學了一些 ffmpeg 指令, 在這裡筆記一下。

2018年9月29日 星期六

快速畫風移轉: 你的圖片/相片/影片, 以名畫家的動漫風格重現!

兩年前的此時, 畫風轉移魔法引發熱烈討論。 我有自己架起來玩過, 很好玩, 但光是轉一張圖就要好幾個小時。 這兩年來, 不斷有人提出改良版的演算法。 目前最佳的版本稱為 fast style transfer, 如果不計算預先訓練畫風的時間, 只計算轉移的時間, 速度超快。 即使是在我的 2014 年老電腦上只用 CPU (Intel Pentium G2030 @ 3.00GHz) 也能處理影片。 下圖每塊 212x120 的 13 秒影片各約耗時 3.5 到 4 分鐘。

2018年9月23日 星期日

幫 proxmox 的 lxc 擴充硬碟

在 proxmox 上面, 原則上每個 lxc 容器配置一個檔案系統。 例如我的 proxmox 採用 zfs 作為檔案系統。 有一部 lxc 容器, id 是 371, 那麼在 /etc/pve/lxc/371.conf 裡面就會有一句: rootfs: local-zfs:subvol-371-disk-1,size=4G 之類的。 這個檔案系統對應到 proxmox host 的 rpool/data/subvol-371-disk-1 。 (假設你的 zfs pool 名為 rpool) 但如果這個容器要當作 ftp 伺服器或 docker 伺服器, 最好把資料放在第二顆硬碟上, 這樣資料備份跟伺服器狀態備份才比較方便分開處理。

2018年9月18日 星期二

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

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

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

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