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, .