2017年1月30日 星期一

從試算表產生柱柱圖(三次元長條圖)

過去三十年北半球每月平均溫度跟 1951-1980 當月平均溫度差異值的 3d 長條圖 有沒有冬天越來越不冬天的八卦? 可是川普王說全球暖化是騙人的耶... 那就趁 NASA 的資料還沒被下架之前趕快到 NASA 的 地表溫度歷史記錄 去下載資料回來分析吧。 如果把北半球地表及海面上所有觀測站的溫度按月平均, 再減去某段很長時間 (例如 1951-1980) 同一月份的歷史均溫, 就可以看出溫度異常 (anomaly) 現象有沒有越來越嚴重了。

本文其實是要介紹我寫的 colchart 裡面的兩隻小程式。 假設你有一個數字二維陣列 (例如從試算表匯出的 *.csv 檔, 或是 1987 到 2016 北半球每月平均溫度異常表, 點 raw 下載)。 用 mat2list.pl 可以把它轉成 gnuplot 認得的資料格式, 再用 pt2sq.pl 可以把每一筆資料轉成四筆, 然後就可以畫出 3D 版的長條圖 -- 稱為 column chart。 可能是因為部分的資訊會被遮住, 所以這種圖表不太流行。 但是在 gnuplot 裡面, 畫好 3D 圖後還可以拉著柱柱們旋轉, 從各個方向觀賞, 死角比較少, 很適合在會議簡報上製造物美價廉的視覺效果。

2017年1月20日 星期五

使用試算表內的陣列函數來製作分組次數分配表

用 frequency() 陣列函數來製作分組次數分配表 假設你手邊有某個班級 20 位同學總共 8 次小考/作業/實作成績, 你想要製作 次數分配 (Frequency Distribution) 圖表。 本文先只處理表格的部分; 另文再談製圖。 最近為了這個需求, 第一次學會在試算表 (libreoffice 或 openoffice 的 calc, 或是 excel 也適用) 裡面使用 陣列函數 (array function)。

2017年1月12日 星期四

搭配任何遙控器的遙控插座/開關

遙控插座/開關 我沒有床頭燈。 睡覺前還要爬起來關燈很煩啊~~ 很久以前我在特力屋買了一個遙控插座/開關, 如圖左側~~ 啊不是, 照片左邊只剩下遙控器; 插座早就被我丟掉了。 它的遙控器採用少見的電池, 而且很快就不夠力, 「開」 跟 「關」 兩個按鈕當中, 每次都是 「關」 先失效。 每當它失效時, 都是快睡覺時才發現。 等我狂按猛按好多次, 終於把它關掉時, 我也就完全清醒了 :-(

後來突然想到可以上網買, 於是買了相片右側的那款。 價格大約是左側那款的三分之一、 採用比較常見且便宜的 CR-2025 電池、 遙控器只有一個開關 -- 按一次就開、 再按一次就關。 而且最棒的是: 你不需要用它的遙控器! 你可以拿家裡任何常用的紅外線遙控器 (電視/冷氣/電扇/...) 挑一個很少用而且「亂按不會有效果」的鍵, 拿它來跟插座配對。 (簡體說明文字貼在插座背面) 從此以後我在也不會為了遙控器失效而失眠了 :-)

純粹覺得好東西要分享一下; 因為這篇沒有收工商服務費, 所以就不給網址了 :-) 請 google 「任何遙控器 插座」, yahoo 奇摩拍賣目前有兩家在賣。

2017年1月5日 星期四

一月中旬起將開始放置廣告 [申請遭拒]

最近看到 AI 取代白領工作的厲害、 年金的不確定性、 翟神的困境、 無條件基本薪資及社會結構大改變的遙遙無期、 而且又被家人小唸過一陣。 最後決定對理財稍微用點心力, 以便退休後還夠能養活自己、 經濟無於虞地繼續上網 :-) 但是這不能等接近退休才開始做;趁現在還有好奇心就要開始研究。 所以小格從一月中旬 (1/11-1/20) 某天, 將開始放置廣告 ( google AdSense)。 (因為隱私而) 不想要看到 AdSense 廣告的讀者 可以參考這一篇: How to block Google AdSense Ads with Adblock Plus on Mozilla Firefox。 也請留言分享您的意見 (支持、反對、經驗、建議、...)

哦, 還有一個原因: 我自己很喜歡的文章, 點閱率沒有很高; 自己沒有特別喜歡的文章, 點閱率卻一直居高不下, 那乾脆拿來賺錢好了。

[1/19: 驚! 申請 adSense 失敗! Google 覺得小格 「內容不夠豐富」, 並提醒 flash 或影片圖片多過文字的網頁不會通過審核。 我遇到來自另一個平行宇宙的審核員了嗎?]

2016年12月25日 星期日

請 raspberry pi 當網路門神

請 raspberry pi 當門神 前陣子先是 mirai 惡意程式碼遭公佈, 造成殭屍裝置大增, 不久之後又有 netgear 多款分享器大漏洞。 我研究室裡那部舊舊弱弱 (而且有 IP!) 的 router 不知有沒有被攻陷, 讓我好擔心。 該把它刷成 openwrt 或 dd-wrt 嗎? 要看型號跟運氣; 而且因為廠牌型號太多了, 開放原始碼的版本也很難保證持續更新。 煩惱一陣子之後, 決定買一部 raspberry pi 來擋在門口當門神。 至少完整的 linux 我比較知道如何防護及經常更新。 寧可暫時先犧牲網路速度, 換取安心睡覺的平靜。 本文適用於 raspbian 跟 archlinux ARM 兩個版本。

2016年12月12日 星期一

電腦麻瓜也會用 mailvelope 加密保護電子郵件隱私及加上數位簽章

現代人都把 e-mail 放在雲端 (webmail)。 對英美的情治兼間諜單位 (NSA 跟 GCHQ) 來說, 這讓他們 「偷窺全球民眾通訊內容」 的工作變簡單了許多。 如果你不爽被監控的話, 就應該學會如何加密 e-mail。 小格的 gnupg 加密 一文點閱率意外地高; 但它畢竟是命令列, 比較不適合電腦麻瓜。 為了準備下學期在中興大學開的資安通識課, 最近找到 (適用於 chrome 及 firefox 的) 瀏覽器的擴充套件 mailvelop, 它採用 OpenPGP (當然也跟其他 PGP/GPG 軟體相容) 並且本身也是開放原始碼 ( github), 完全符合我的上課需求。

2016年11月27日 星期日

Certtool 簡化申請/產生 ssl 憑證流程 (哈利波特圖解版)

certtool 申請/產生 ssl 憑證流程 不論是想要把 http 升級成 (加密版的) https、 想要把 ldap 升級成 (加密版的) ldaps, 或是想要佈建 VPN (virtual private network, 虛擬私有網路), 都需要產生 ssl 憑證 (secure socket layer certificate)。 ssl 憑證的運作原理跟 ssh 一樣, 都是採用 非對稱式加解密 Asymmetric Cryptography 演算法。 不過一方面它比 ssh 信任機制 簡單, 因為它把公私鑰放在同一個檔案裡, 所以你不太需要了解原理也可以使用它; 另一方面它也比 ssh 麻煩很多, 因為需要找權威機構發憑證給你, 否則別人不會信任你。 以前我用 openssh 產生憑證, 超級麻煩, 完全搞不清楚自己在幹什麼。 最近發現 ssl 憑證恩物 gnu certtool, 指令變簡單很多。 再加上我這篇圖解, 未來的新手就幸福多了。

2016年11月20日 星期日

ldap 披荊斬棘白話入門

如果你管理了好幾部 linux 與 windows 伺服器, 而你們公司的每一位同仁 (或每一位客戶, 或你的每一位學生) 可能同時在上述伺服器當中的好幾部都各有一個帳號, 那麼帳號密碼管理就成了頭痛的問題: 要怎樣才能讓用戶使用方便, 只改一次密碼就可以自動讓所有伺服器上同一個帳號的密碼都同步更新? 這個問題, 在 unix 世界, 以前採用的是 NIS 技術; 不過 windows (及它的 active directory) 興起之後, 好像很少人在用 NIS。 現在業界多半都採用 ldap。

可是 ldap 是我所認真學過的開放技術當中, 投資報酬率最低的技術之一。 學語法及爬文的過程, 有一種跟政府官員打交道的感覺: 這個社群中的大部分高手似乎不喜歡用簡單白話的方式溝通 -- 不論是語法或是討論串皆然。 結果就是: 為了解決一個小問題, 新手必須四處碰壁撞滿頭包 (如果他夠幸運的話) 才會找到答案。 工程師已經夠辛苦了, 為何還要遭受這種對待呢! (淚) 貴哥的使命就是要改變這種悲慘的狀況。

[2017/9/12] 有現成的 openldap docker 可用; 不過我這篇的重點是講觀念, 所以還是值得參考。

2016年10月9日 星期日

用 vlookup 合併 (join) 試算表

用 vlookup 合併 (join) 試算表 身為寶可夢班級的上課老師, 要算成績很辛苦的~~ 同學們常常出去比賽, 可是不見得每個人都會參加每一場比賽; 有時會場還會不小心收集到其他班插花同學的成績。 每次收集到新成績時, 要把它跟現有的成績冊整合, 都是一件很費工的事。 本文介紹偷懶的方法。

[事實上本文要介紹的是如何用 vlookup() 函數來實作兩個 tables 的 join 運算 (資料庫的概念), 不只適用於合併成績冊。 本文以 LibreOffice 實作; 若要用於 google sheet 或 MS excel, 只需要略改語法。]

2016年8月30日 星期二

接新班的導師們的班級姓名照片點名卡

皮卡丘和同班同學們 又是一學年的開始, 很多導師要接新班了。 已經幫學生照好了大頭照, 想要製作一張 「本班姓名照片卡」 嗎? 請下載 class-pictures.rar 並解壓縮。

2016年8月29日 星期一

antix 16 中文設定 (我如何找到各家的 X Window 啟動檔?)

用 ps fx 指令查詢 processes 之間的親子關係 antix 既夠輕薄短小, 又夠主流 (e.g. 直接用apt-get 管理套件, 不必每次客製化之後還要重做 live CD) 所以從 2010 年它的前身 SimplyMepis 開始, 這一系列一直就是我的最愛。 可惜 antix 15 那一陣子, 我一直沒弄懂該在哪個設定檔裡面填中文相關的環境變數, 只好改用 lubuntu。 最近突想到一個好方法來追查正確的設定檔。 趁著 antix 16 登場時分享一下。 我用的是 antiX-16_386-full 。

2016年8月28日 星期日

在老舊電腦上跑 vlc streaming 服務

該怎樣調校 vlc 的參數, 才可以把老舊電腦變成監視錄影器 (audio & video streaming server) 呢? 這篇延續 「循序漸進的 vlc 命令列教學」 第七節, 一樣拿一部舊筆電透過網路攝影機當作 vlc streaming server, 讓它在客廳看電視; 又在書房同一個區網內用一部 PC 連到筆電透過筆電間接看電視。 這篇的重點是如何用最懶惰的方法調參數, 讓不夠力的老舊筆電 (藉由犧牲畫質, 甚至犧牲聲音) 也能勉強播放。 [注意: 本文指令皆無加密效果; 請不要在公開網路上播放洩漏隱私或有著作權限制的內容!]