2017年2月21日 星期二

單向雜湊函數的實用意義 & 如何手動修改密碼檔

不論是 ssh 登入密碼檔 /etc/shadow 或是 dokuwiki 的 /etc/dokuwiki/users.auth.php 或是其他許多服務的密碼檔, 如果它的檔案裡面包含這樣的字串: $1$d0lzo8J3$W0gy.g4Y 或這樣: $5$hp19NKFwbuqQKsut$jezzRQn5... 或這樣: $6$8cnmW1GxONptsR$aNdHG8Dj... 那麼其實都可以直接用文字編輯器, 不需要使用圖形介面工具來修改。

2017年2月17日 星期五

不求甚解工程師的人工智慧學習捷徑地圖

不求甚解工程師的人工智慧學習捷徑地圖 寒假期間開始學機器學習/深度學習 (machine learning/deep learning), 繞了好大一圈之後, 才發現其實可以不必那麼辛苦。 筆記一下搜尋關鍵詞來幫助那些跟我一樣不求甚解、 只想快快動手寫簡單小程式的工程師。

2017年2月13日 星期一

Docker 新手第二課: 前景/背景/收工休息 圖解狀態轉換

docker 基本指令 這篇觀念教學文是為略懂 docker 的讀者寫的。 你喜歡在你的 linux 電腦上試玩一些有的沒的; 但是不時會遇到一些軟體需要牽拖一大串三姑六婆相依套件, 擔心會把你的工作環境弄亂。 有時甚至還會有相依套件版本跟已安裝軟體不相容的問題。 你發現 docker 正好可以解決這個問題。 安裝好 docker、 爬了一些文 [ 門外漢的 Docker 小試身手 三十分钟 Docker 新手入门]、 對 docker 已經有一些概念、 會用 docker ps -a 查看 (執行中或已收工的) docker instances、 用 docker images 查看已下載的映像檔。 但是對於 attach/interactive/terminal/... 又有點頭昏... 對於沒有立志要成為 docker 高手的人來說, 只需要再熟悉這張概念圖就夠了。 從此以後可以專心亂玩其他軟體, 不必再煩惱 docker 指令了! 同場加映不求專精工程師爬文後的一些小技巧及心得。

2017年2月9日 星期四

fwmp 懶人的通訊埠轉發指令

通訊埠轉發 貴哥不太想學 iptables 指令。 但是身為 IP 不夠用的網管, 經常有 ip forwarding 通訊埠轉發 的需求。 每次弱弱地抄指令都很怕抄錯。 於是寫了 fwmp 跟 fwmp.lxc 兩個小程式, 可以用一個指令幫區網內的一部機器 (可以是實體機、 kvm 虛擬機或 lxc 容器) 同時轉發好幾個通訊埠。 kvm/lxc 的部分, 我主要在 proxmox 4.2-2/725d76f0 的環境底下測試。 如果你在其他版本測試成功或失敗, 請留言分享一下。

2017年2月4日 星期六

在 zfs 上面的 lxc 裡面跑 docker

zfs + lxc + docker 我在安裝 proxmox 4.2 時, 檔案系統選用 zfs, 裝好之後想要在 ubuntu lxc 容器裡面跑 docker。 沒想到這是一個棘手的組合, 在過去這幾個月裡, 燒掉了我好幾個週末跟半個年假 (所以我貼文的頻率很低)。 這篇文章是給 linux 熟手看的 -- 筆記的成份多於教學的成份; 只在 proxmox host 底下測試, 並且省略很多解釋及較單純的細節。

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, 指令變簡單很多。 再加上我這篇圖解, 未來的新手就幸福多了。