電腦教室的 bridge 同名之亂

20 小時 20 分鐘 ago
虛擬機通常躲在 host 的後面, 區網的其他機器看不到虛擬機的 IP。 這樣比較安全但也比較不方便。 我在電腦教室要叫學生互相檢查或攻擊同學的虛擬機, 這時就需要用 bridge (橋接器) 把虛擬機提升到跟 host 位於相同的區網。 觀念上來說, 需要做的事包含: 建立一個虛擬 bridge, 比方說叫做 brext 好了。 停用 eth0。 把實體網卡 eth0 接在 brext 底下。 透過 brext 對外尋求 dhcp 服務。 (Host 的網路又恢復連線。) 以後虛擬機的網路也都接在 brext 上。 指令上來說先前我用 bridge-utils 套件的 brctl 指令 (教學); 但是在 ubuntu 系列的作業系統裡面, 就必須用把預設的網路管理員 從 network manager 改成 networkd。 最近發現 network-manager
ckhung

(在 Windows 底下) 製作 UEFI 版 「貴哥實驗室」 開機隨身碟 (救命碟)

6 天 23 小時 ago
現在大部分的電腦都支援 UEFI 開機, 所以新版的貴哥實驗室開機光碟也跟著配合支援 UEFI。 拿它來製作開機隨身碟的過程可以全程在 Windows 底下完成。 感謝蘇浚緯助教製作以上教學影片。 (2021/9/20) 到 這裡 下載最新的ISO檔, 還有對應的 uefi 開機檔。 [2022/9/13] 以目前最新的版本來說, 就是要下載 22/g22B-lmde-elsie.iso 跟 22/g22B-1-uefi-boot-files.tgz 這兩個檔案。 從今年開始, 檔案名稱改成 「版本字串放在前面」, 比較容易一眼就找到最新版。 在 Windows 底下打開檔案總管、 確認你的隨身碟採用的是 fat32 而不是 exfat 格式、 確認隨身碟還有足夠的空間 (至少要有 6G) 安裝解壓縮工具 7-zip, 用它把ISO檔的
ckhung

ip 指令漂亮列印

1 週 2 天 ago
查看所有網卡裝置的指令 ip a 印出來的資料令人眼花撩亂; 可是大部分我都看不懂也沒在看。 可以只印看得懂的欄位就好嗎? 如果你的網路知識跟我一樣弱, 想要略過大部分資訊, 可以先安裝 zq, 然後在 ~/.bashrc 裡面加上這一句: alias ipa="ip -j a | zq -f csv 'over this | {ifname,address,ip_addr:missing(addr_info[0].local)?\"\":addr_info[0].local} | fuse' - | column -s, -t" 那麼下次進入 bash, 就可以用 ipa 指令查看精簡版的資訊。 首先, ip -j a 可以採用 json 格式輸出 ip a 的結果。 再來請試試這個指令: ip -j a | zq -f csv 'over this | {ifname,
ckhung

繪製 (公共腳踏車租賃地點、公車站牌、...) 群聚(地)圖不必改程式碼

1 週 2 天 ago
上個學期教資料視覺化, 其中一個主題是繪製客製地圖, 就做了這個例子: 台中公共腳踏車租賃地點。 像這種 marker 個數太多太密集的地圖, 需要用 cluster map 來做, 當訪客拉近 (zoom in) 時, 才把一個 cluster 拆成更多個小的 clusters。 這個無法用單純的 umap 來做。 [9/7 現在發現 umap 可以製作 cluster map 了, 更簡單! TGOS 批次地址查經緯度 + umap 私房地圖範例: 清冠一號中醫診所地圖] 請先下載 程式碼, 然後用瀏覽器打開其中的 index.html, 拉近拉遠測試一下。 如果是 firefox, 要先到 about:config 裡面把 security.fileuri.strict_origin_policy 設成 false; 如果是 chromium,
ckhung

json 裁剪/轉檔 (例如轉 csv) 都交給它了: 強大且易用的 zq

1 週 2 天 ago
在 hacker news 上面看到這篇 Introducing zq: an Easier (and Faster) Alternative to jq 。 玩懂了之後, 發現用它來轉檔 (json => csv 或 csv => json) 及篇輯/篩選 json 檔的內容超方便, 甚至比 jq 簡單很多! 只是他們把 zq 的太多功能與特色擠在一篇文章介紹, 所以步調太快, 有點難懂。 這裡我拿臺中市 151 公車停靠站 tcbus-151.json 來作範例, 展示最常用的 zq 基本語法。 這個檔案是從 ptx 公共運輸整合資訊流通服務平台 撈出來的。 一、 簡介 到 github 的 release 頁面 下載適合你的作業系統的版本。 以我下載的 linux-amd64 版本來說, 解壓縮之後把 zq 與 zed 兩個執行檔搬到 /usr/bin 底下就
ckhung

glabman: 一個人一天架好一間 linux (+ windows?) 電腦教室

2 週 ago
是的, 暑假我在跌跌撞撞當中完成了這個壯舉。 如果再來一次, 有這篇事後心得文可以參考, 說不定半天就可以完成, 或許還能附贈 Windows。 一、 環境及前置作業 教室內網要順暢, 最好有 DHCP。 假設所有電腦的硬體配備都相同。 硬碟可以是空的完全沒有作業系統 除了想要安裝 Linux 之外, 如果還想要加裝 Windows, 那麼每部電腦最好有兩顆硬碟, 處理起來比較簡單。 準備4顆 貴哥版的 grml Linux 開機隨身碟。 以 UEFI 開機的電腦來說可以把 grml 的 iso 檔裡面的所有目錄與檔案複製到隨身碟的根目錄、 進到 live/grml64-small 把 *.squashfs 改名為 root.squashfs (當初我製作新版光碟時忘記改 *.squashfs 的名字了 orz) 、 把 uefi-boot-files*.tgz
ckhung

用 lynx 快速瀏覽很多文字檔

3 週 1 天 ago
有時候我會從某個網站一口氣抓下很多 html 檔, 方便離線閱讀。 在 linux 命令列上: lynx ~/放很多html檔的某個目錄/ 接下來就可以用左右方向鍵進入和退出每個檔案, 逐一閱讀。 從省著用手指的角度來看, 這比雙擊滑鼠和下指令都要省力很多。 txt 檔或是沒有副檔名的 README 等等當然也適用。 遇到 pdf 檔, 我的 linux mint 會把 gimp 叫出來。 可是我並沒有要編輯啊! 我習慣用 okular 讀 pdf 檔, 因為按 ctrl-i 就可以變成黑底白字。 這時可以編輯 /etc/mailcap 把裡面所有同時提到 pdf 跟 [gimp 或 inkscape] 的那幾句都註解掉。 離開 lynx、 再重新進入, 這次 lynx 就會用預設的 pdf 閱覽器 (以我而言就是 okular) 去開啟 pdf 檔了。 最近想要學寫
ckhung

TGOS 批次地址查經緯度 + umap 私房地圖範例: 清冠一號中醫診所地圖

3 週 1 天 ago
[本來想重寫 TGOS 的教學文, 做這張圖時才發現 umap 已中文化, 介面改了不少, 而且有提供 cluster map 的功能, 就乾脆連 umap 教學也一起重寫。] 接續前一篇 轉碼 big5 除錯記, 已經得到整理過的清冠一號中醫診所地址檔 3.csv。 (仍舊是 utf8 編碼, 但不會讓 iconv 消化不良。) 下一步要轉成 TGOS 規定的格式。 經過很多次實驗, 發現幾件事: 地址欄如果有郵遞區號, 很多時候反而會出錯。 最好刪掉。 很多筆資料裡面的「巿」跟平常打字出現的「市」其實並不一樣: echo '巿市' | xxd 會看到前者的編碼是 e5 b7 bf 而常用的「市」則是 e5 b8 82。 id 欄必須是整數, 中間跳號沒有關係, 也不需要按照順序。 但是為了等一下處理 (join 指令) 方便, 最好每一列的 id 位數相同 (例如都是
ckhung

轉碼 big5 除錯記

3 週 1 天 ago
雖然偶爾才遇到... utf8 轉碼 big5 很討厭, 因為 big5 的字集比較小, 會有很多字轉不過去。 今天拿 衛服部「清冠一號動態表」 的中醫診所地址清單做例子, 因為 地址轉經緯度的 TGOS 服務 要求輸入檔案必須採用 big5 編碼。 把網頁存成 cg1.html 。 轉檔: python3 html2csv.py cg1.html > cg1.csv。 手動編輯 cg1.csv, 去掉 "###" 以下所有多餘的列。 某些列的某些欄位因為內含逗點, 所以被雙引號包起來, 以免那些逗點被當成欄位分隔符號。 比較簡單的方式是: libreoffice cg1.csv、 手動刪掉許多欄位, 只保留代號+名稱+地址三欄、 另存新檔成為 2.csv、 再用 nano/geany/vim 手動編輯 2.csv, 找到所有含有雙引號的地址 (共五列)、 手動把
ckhung

升級 LMDE 5 筆記

1 個月 3 週 ago
最近把系統升級到 LMDE 5 Elsie (Linux Mint Debian Edition), 也順便更新了 貴哥實驗室的 iso 檔, 這裡很快筆記一下一些小問題。 首先, 為什麼要升級? 先前因為不想用 Ubuntu 的 snap 所以 改用 linux mint。 但是目前最新的 mint 是 20.3, 也就是仍舊以 2020 版的 ubuntu 為基礎, 所以後來決定改安裝以 debian 為基礎的 LMDE。 它所對應的 debian 版本是 2021 年 8 月推出的 bullseye。 採用主流版 mint 的那段時間, 安裝 chromium 瀏覽器有點辛苦。 UnGoogled chromium 有一些小問題 (例如無法保持登入) 改用 LMDE 之後完全略過 ubuntu, 安裝 chromium 就變得很順利了。 LMDE 的桌面環境
ckhung

減少 ssd 與隨身碟讀寫, 2022 版

1 個月 3 週 ago
一般正常使用電腦, 除了作業系統本身之外, 最常寫入硬碟的軟體,大概是瀏覽器吧。 對於機械式硬碟, 這不是什麼問題。 但如果你的 linux 裝在 ssd 或開機隨身碟上, 就應該考慮採用 psd 來減少瀏覽器對隨身碟的讀寫。 可是它並沒有管到 ~/.cache 目錄。 搜尋到 psd 作者的建議: 在 /etc/fstab 裡面放一句: tmpfs /home/你的ID/.cache tmpfs noatime,nodev,nosuid,size=120M 這會把 ~/.cache 放到 120M 大小的記憶體裡, 以後每次開機就會看到一個空的 ~/.cache , 很多 apps (不只瀏覽器, 還有 gimp、 virt-manager 等等) 最頻繁的讀寫都會變成在記憶體裡發生, 關機後就忘光。 這麼做之後, 每次開機之後第一次點 (上次
ckhung

Linux 換滑鼠指標圖示, 摩登版

2 個月 1 週 ago
在 軟體自由協會的聊天群組 裡面學到的技巧, 比四年前寫的 linux X11 環境更改滑鼠指標圖示 要更簡單。 先到 gnome look 的 cursors 頁面 點一下 "rating" 分頁以便按照用戶評分排序, 挑一組喜歡的。 我需要比較大比較顯眼的圖示, 所以就點進去第二名的 Oreo Cursors。 切換到 files 分頁, 看到有很多不同口味可以選擇下載。 我選了 oreo_spark_orange_cursors.tar.gz 等等幾組。 把每一組都解壓縮到 /usr/share/icons/ 底下: sudo tar -C /usr/share/icons/ -xzf oreo_spark_orange_cursors.tar.gz 然後叫出系統的滑鼠設定選單。 以我使用的 linux mint 20.2 uma [xfce 口味] 而言, 可以
ckhung

每一句都可以讀得懂的最精簡 webpack 設定檔 + js toolchain 新手的行前說明

2 個月 2 週 ago
Javascript 語言本身已經 令程式設計師愛恨交織; 它的工具鏈 (toolchain) 更令人眼花撩亂。 去年 我很匆促地學了一點 webpack, 今年好像又不夠用了。 不同時期不同作者的設定檔都差好多, 其中很多也不適用於新版。 越爬文越迷惘, 覺得自己怎麼那麼弱, 都快要哭出來了... 偶然搜尋到這篇: A Crash Course in Modern JavaScript Tooling, 聽到作者安慰: "It's not your fault." 突然覺得獲得救贖, 原來很多 python 族都跟我有相同的感覺! 這次沒有時間壓力, 花了快一個月終於建立了一個最精簡的骨架程式 jstc-novice, package.json 跟 webpack.config.js 裡面的每一句話都看得懂, 可以作為 (已略熟 javascript, 包含會開啟 console
ckhung

UMAP 筆記

2 個月 2 週 ago
Uniform Manifold Approximation and Projection (UMAP) 是一個用來降低資料維度的演算法。 如果你把它想成是一個副程式, 它所接收的主要輸入參數以及輸出的資料跟 t-SNE 一模一樣: 輸入一張很大的試算表 (例如幾百或幾千個數字欄位、 幾萬甚至幾十萬列), 它可以產生一張新的試算表, 裡面只剩少少幾個數字欄位 (個數由你指定), 這些新欄位的值可以說是原始許多欄位的 "摘要", 如果欄位數夠少 (例如剩下 2 或 3), 你甚至可以把資料畫在螢幕上或呈現在3度空間中, 或許用肉眼就可以觀察出幾萬/幾十萬個點如何分佈在幾個明顯的群 (cluster) 當中。 我在 t-SNE 幫你看見高維度數值資料 以及 撞臉偵測器 兩篇文章當中有實作兩個例子, 可以直接在網頁上玩玩看。 UMAP 比 t-SNE 的速度更快、 效果更好。 我還沒
ckhung
Checked
50 分鐘 7 秒 ago
大人問小孩: 「全世界的玩具隨便你挑? 這怎麼可能? 如果我要的玩具只有一個, 正好又被別人借走了呢?」
「玩具閘門後面, 每種玩具永遠只有一個。 任何人想玩, 隨時都可以生一個複製品給你。
這裡沒有人搶玩具。 這裡是 玩具烏托邦。」
* * * *
貴哥在這裡分享自由軟體跟免費雲端工具的知識與技術, 目的是希望打破 「品牌忠誠肥羊」 們的迷思、 要「讓數位高牆倒下」 (請搜尋)。

(還有其他雜七雜八不想放到 「資訊人權貴ㄓ疑」 的筆記跟感言)
Subscribe to 玩具烏托邦 feed

軟體自由運動 需要您的支持!

數位路平

軟體自由推動成果:數位路平

為向政府單位宣導開放文件格式,軟體自由協會在 2015 年主辦了「數位路平★台灣騎跡」縣市政府宣導活動,成員們以單車為交通工具,騎車到西部及離島的各縣市政府前,大聲的說出我們追求數位路平的心聲。

捐款給SLAT

若您肯定協會多年來的努力,敬請捐款支持軟體自由運動!

立即捐款
自由軟體納入檢定

軟體自由推動成果:自由軟體納入國家技能檢定

2016 年,軟體自由協會向國家技能檢定中心要求檢討考場預裝軟體的規定,並將自由軟體納入選項中。在經過數場會議之後,技檢中心終於在 2017 年 8 月底公佈修正草案,這對考生的選擇自由、技職體系的教育公平性來說,都是非常大的進步。

捐款給SLAT

若您肯定協會多年來的努力,敬請捐款支持軟體自由運動!

立即捐款
training of ODF

軟體自由推動成果:協助推廣開放格式文件

自從 2015 年國發會開始「推動ODF為政府文件標準格式」之計劃以來,台灣各縣市政府已逐步落實開放格式文件的使用,能有這麼亮眼的成果,軟體自由協會的夥伴們是不可或缺的幕後功臣

捐款給SLAT

若您肯定協會多年來的努力,敬請捐款支持軟體自由運動!

立即捐款
ezgo saminar

軟體自由推動成果:專屬教育現場的自由軟體體驗包

"ezgo" 是軟體自由協會以 Kubuntu 為基礎而打造的「自由軟體體驗包」,包含了各種適合日常工作使用的自由軟體,以及豐富的教育類軟體和自由教材,是一套專為教育現場打造的作業系統。

捐款給SLAT

若您肯定協會多年來的努力,敬請捐款支持軟體自由運動!

立即捐款