$ tail -n +1 learning-log/
Learning log
Short, chronological records between raw notes and finished articles. Entries distinguish goals, predictions, experiments, evidence and conclusions.
LAB2026-09-07
KVM / libvirt fundamentals
Goal: understand the virtualization layer before building the server VM.
Current state: KVM/libvirt is being investigated; VM networking and isolation are next.
Next: establish a known-good VM lifecycle and then inspect how virtual networking is represented on the host.
FAILURE / FIX2026-08-24
Host unreachable — client Wi-Fi was off
Observation: hostname resolution failed and an address-based SSH attempt did not respond.
Evidence: the phone was not connected to Wi-Fi. Reconnecting it restored access to the lab host.
Conclusion: “the server is unreachable” is a symptom, not a diagnosis; client network state belongs in the evidence chain.
SIDEQUEST2026-08-23
ssh.service versus ssh.socket
Question: how can SSH remain reachable while the service unit appears disabled?
Direction: inspect socket activation, the listening process, service state transitions and logs rather than assuming service enablement equals reachability.
Related article →
LESSON2026-08-21
Linux processes: jobs, ps, kill and process states
Evidence: foreground/background jobs and process state output were compared, including the fact that a line count of ps output also counts the header.
Lesson: know what the output format contains before treating a count as a process count.
LESSON2026-08-19
Bash pipelines: cut, sort, uniq, tee and wc
Goal: combine small tools so each stage transforms or measures a stream.
Evidence: a pipeline counted user occurrences and used tee to both display and persist the result.
Raw AI transcripts are source material, not learning-log entries. Public entries are rewritten into concise technical records and screened before publication.