WRKLOG-2026-02-28
Summary
Friday. Work: CHLA Linux SSH issue, EAP-TLS certificate troubleshooting. Home: kvm-02 deployment. Personal: kernel development exploration started.
Today’s Priority Tasks
| Priority | Task | Status |
|---|---|---|
P0 |
CHLA Linux SSH issue (Xianming Ding) |
[ ] Pending |
P0 |
EAP-TLS certificate issue |
[ ] Pending |
P1 |
kvm-02 online (Supermicro B) |
[ ] Pending |
P1 |
MSCHAPv2 Migration Planning |
[ ] CARRY-OVER |
P1 |
iPSK Manager - DB replication |
[ ] CARRY-OVER |
P2 |
kernel-taste project setup |
[ ] Started |
Learning
Kernel Development Exploration
Started kernel-taste project to understand user/kernel space boundary.
Key concepts explored:
-
Ring 0 (kernel) vs Ring 3 (user) privilege levels
-
syscall instruction as boundary crossing mechanism
-
strace to observe syscalls
Busybox:
Kernel developer workflows:
Certification Update
Earned AIBIZ (8 CEUs) - extends CCNA + Specialists to Feb 2029.
Added Credly transcript discoveries to portfolio:
-
CompTIA CLNP (stackable)
-
Microsoft Exam 410/411 (WS 2012)
-
AWS SAA (expired May 2024)
Minimal Vi/Vim Workflow - Kernel Developer Style
Context
Inspired by kernel developers like René Rebe (Code Therapy YouTube channel), explored building a minimal editor workflow that mirrors how Linux kernel developers work.
Key Learnings
Vi vs Vim vs Neovim
| Editor | Notes |
|---|---|
vi (true) |
Original editor. No visual mode, no text objects (vap, ciw), single undo only. Found in busybox, rescue disks, minimal containers. |
vim |
"Vi Improved" - what most systems ship. Has visual mode, text objects, multi-undo, syntax highlighting. |
neovim |
Lua-based fork of vim. Popular with younger devs. Kernel devs generally don’t use it. |
What Kernel Developers Use
-
Plain vim (not neovim)
-
Minimal config (~100-200 lines)
-
ctags/cscope for navigation (not LSP)
-
Native <C-n> completion (no plugins)
-
grep/ripgrep for search
-
make for building
Existing Configs in dotfiles-optimus
Already had battle-tested configs:
-
~/.vimrc-minimal - 300 lines, no plugins
-
~/.vimrc-server - 557 lines, custom statusline, netrw, git branch detection, zero plugins
-
alias vims='vim -u ~/.vimrc-server' - already configured
Busybox Vi Setup on k3s-master-01
Why Busybox
Busybox is a single static binary containing ~300 Unix utilities. Used in:
-
initramfs (kernel boot)
-
Alpine containers
-
Rescue disks
-
Embedded Linux
-
Kernel testing environments
Installation
sudo dnf install epel-release -y
sudo dnf install busybox -y
Configuration
Created ~/.exrc for busybox vi:
cat <<'EOF' > ~/.exrc
set number
set showmode
set autoindent
set tabstop=4
set shiftwidth=4
set ignorecase
EOF
Alias
Added to ~/.bashrc:
alias vir='busybox vi'
Verified:
source ~/.bashrc && type vir
vir is aliased to `busybox vi'
Pure Vi Equivalents (No Text Objects)
| vim | vi equivalent | action |
|---|---|---|
vap |
{d} |
delete paragraph |
cap |
{c} |
change paragraph |
daw |
bdw |
delete word |
ciw |
bcw |
change inner word |
V (line select) |
N/A |
doesn’t exist |
u (multi-undo) |
u toggles |
only one undo level |
Ctrl-r (redo) |
N/A |
u toggles back |
Training Strategy
-
vi / vims → vim with full features (daily driver)
-
vir → busybox vi (raw training for container/rescue scenarios)
Practice pure vi motions: { }, ( ), H M L, w b e, /, n N, .