R's Workshop

Data Model and Size of Data Types

上一篇討論 struct net_device_stats 時有提到在 32-bit 和 64-bit Linux 上的 unsigned long 長度是不同的. 前者是 32 bits, 後者是 64 bits. 然而, 在 Win32 和 Win64 上, unsigned ling 卻都是 32 bits. 造成這些差異的原因在於: 從 32-bit CPU 演進到 64-bit C... Read more

Network Device Counter Wrapping Around

前陣子遇到了一個很妙的 bug: 在 32-bit CPU 的 Linux 平台上透過 wifi 下載一個超過 4GB 的檔案後, ifconfig 看到的 Rx bytes coutner 發生了 wrapping around (溢位). 但神奇的是, 相同的 wifi driver 在另一個 64-bit CPU 的 Linux 平台上跑同樣的測試, 卻不會有溢位問題. Read more

Install Git-Repo on Ubuntu 16.04

工作上用 git-repo 管理 SDK. 但在 Ubuntu 16.04 下透過 apt install repo 抓到的版本太舊, 一直要我升級. 升級後又噴 WARNING 說 python 版本不合. 紀錄一下在 Ubuntu 16.04 上安裝最新板 git-repo 的步驟. Read more

Add SSH key to GitHub Account

紀錄在 GitHub 上新增 SSH key 的方法, 省去 clone 和 push 時打密碼的麻煩. Read more

Change Login Shell without Root Privilege

最近接手同事的案子, 拿到一台 server 的登錄權限. 但登進去後發現 default shell 不是 bash 有點小崩潰 … 趕緊想辦法換一下. Read more