Tighten prose punctuation across READMEs
Reduce colon overuse and tighten em-dash phrasing for readability. Add .gitignore for devlog and CHANGES.
This commit is contained in:
parent
8d29a3a42b
commit
36d4fda5aa
6 changed files with 65 additions and 61 deletions
|
|
@ -10,9 +10,9 @@ Understand the basic hardware and software of the computer you are working on.
|
|||
- Understand what these components do and why they matter for computing tasks
|
||||
- Learn commands to query your system on macOS, Linux, and Windows
|
||||
|
||||
> **Read your *physical* machine first.** Sections 1–6 walk through inspecting the actual hardware you own. On macOS and Linux, the terminal reports directly from the hardware. On Windows, use **PowerShell** (or the Settings GUI) — those readings come straight from the real machine.
|
||||
> **Read your *physical* machine first.** Sections 1–6 walk through inspecting the actual hardware you own. On macOS and Linux, the terminal reports directly from the hardware. On Windows, use **PowerShell** (or the Settings GUI). Those readings come straight from the real machine.
|
||||
>
|
||||
> **Then visit the WSL VM separately (Section 7).** If you are on Windows and have WSL installed, your Linux environment is a *virtual machine* that sees only what it has been allocated. Section 7 covers how to inspect that and why it differs from the physical machine. If you do not yet have WSL installed, see [../WSL.md](../WSL.md).
|
||||
> **Then visit the WSL VM separately (Section 7).** If you are on Windows and have WSL installed, your Linux environment is a *virtual machine* that sees only what it has been allocated. Section 7 covers how to inspect that and why it differs from the physical machine. If you do not yet have WSL installed, see [../WSL.md](../WSL.md) when you're ready.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -25,9 +25,9 @@ This module is a hands-on survey. Run the commands below on your own machine and
|
|||
|
||||
Your operating system (OS) manages the hardware and provides the environment where all your programs run. The three major OS families are:
|
||||
|
||||
- **macOS** -- Apple's OS, based on Unix (Darwin kernel). Runs on Intel and Apple Silicon (M1/M2/M3/M4) hardware. Closely related to iOS, watchOS, and other Apple systems. (These are all, in fact, computers!)
|
||||
- **Linux** -- Open-source Unix-like OS. Many distributions exist (Ubuntu, Fedora, etc.). Common on servers, clusters, and in WSL.
|
||||
- **Windows** -- Microsoft's OS. For terminal-based work, we recommend the Windows Subsystem for Linux (WSL) to access a Unix environment.
|
||||
- **macOS.** Apple's OS, based on Unix (Darwin kernel). It runs on Intel and Apple Silicon (M1/M2/M3/M4/M5) hardware. It's also closely related to iOS, watchOS, and other Apple systems. (These are all, in fact, computers!)
|
||||
- **Linux.** An open-source Unix-like OS. Many distributions exist (Ubuntu, Fedora, etc.). Common on servers, clusters, and in WSL.
|
||||
- **Windows.** Microsoft's OS. For terminal-based work, we recommend the Windows Subsystem for Linux (WSL) to access a Unix environment.
|
||||
|
||||
### Find your OS version
|
||||
|
||||
|
|
@ -61,11 +61,11 @@ This tells you the Windows version and architecture of the physical machine.
|
|||
|
||||
## 2. CPU (processor)
|
||||
|
||||
The CPU (Central Processing Unit) executes your code. Key properties:
|
||||
The CPU (Central Processing Unit) executes your code. Key properties are:
|
||||
|
||||
- **Architecture**: `x86_64` (Intel/AMD) or `arm64` (Apple Silicon, some Windows laptops). This affects which software binaries you can run.
|
||||
- **Cores**: Modern CPUs have multiple cores that can work in parallel. More cores help with parallel tasks (compiling, running simulations, some ML training).
|
||||
- **Clock speed**: Measured in GHz. Higher is faster for single-threaded tasks, but clock speed alone does not tell the whole story.
|
||||
- **Cores**: Modern CPUs have multiple cores that can work in parallel. More cores help with parallel tasks (compiling, running simulations, and some ML training).
|
||||
- **Clock speed**: Measured in GHz. Higher is faster for single-threaded tasks, but clock speed alone does not determine the system speed.
|
||||
|
||||
### Find your CPU
|
||||
|
||||
|
|
@ -95,7 +95,7 @@ Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLog
|
|||
|
||||
### Why it matters
|
||||
|
||||
Heavy numerical work — simulations, data processing, training machine-learning models — runs faster with more cores and higher clock speed. Even so, CPUs are orders of magnitude slower than GPUs for highly parallel tasks like neural network training, which is why we also look at GPUs below.
|
||||
Heavy numerical work (simulations, data processing, training machine-learning models) runs faster with more cores and higher clock speed. Even so, CPUs are orders of magnitude slower than GPUs for highly parallel tasks like neural network training, which is why we also look at GPUs below.
|
||||
|
||||
> **Exercise 2:** What CPU does your machine have? How many cores? What architecture?
|
||||
|
||||
|
|
@ -129,7 +129,7 @@ This shows total, used, and available memory. The `-h` flag makes the output hum
|
|||
[math]::Round((Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory / 1GB, 1)
|
||||
```
|
||||
|
||||
This returns the **physical** RAM installed on the machine. WSL users: this is the number you want — running `free -h` inside WSL would only show the VM's allocation. See Section 7.
|
||||
This returns the **physical** RAM installed on the machine. WSL users: this is the number you want. Running `free -h` inside WSL would only show the VM's allocation. See Section 7.
|
||||
|
||||
**Windows (GUI):** Settings > System > About shows "Installed RAM". For current usage, open Task Manager (Ctrl+Shift+Esc) > Performance > Memory.
|
||||
|
||||
|
|
@ -137,15 +137,17 @@ This returns the **physical** RAM installed on the machine. WSL users: this is t
|
|||
|
||||
Loading a large dataset or model weights means everything in active use has to fit in RAM. A modern large language model can be 4–8 GB or more; if you load one on an 8 GB machine alongside your OS, editor, and a browser, you may run out. When that happens the system swaps to disk and *everything* slows down dramatically. Knowing your RAM ceiling helps you plan what is realistic to run.
|
||||
|
||||
> **Exercise 3:** How much physical RAM does your machine have? Use the appropriate command for your OS above. How much is currently in use?
|
||||
Everyday applications add up faster than you might expect. A browser with 30+ tabs can use 4–8 GB on its own (each tab is a sandboxed process); Slack, Teams, Zoom, Spotify, and a few Electron-based apps each take 500 MB to 1 GB. It is common to find that the OS and "nothing running" already consumes 6–10 GB before you have started any real work. Activity Monitor (macOS), Task Manager (Windows), or `htop` (Linux/WSL) will show you which process is using what. The point is awareness, not constant tidiness. Leaving apps open is fine for everyday work, but when a heavy job is about to run, knowing what is already in RAM tells you whether you have room or should close a window or appliation first.
|
||||
|
||||
> **Exercise 3:** How much physical RAM does your machine have? Use the appropriate command for your OS above. How much is currently in use? What programs are using the most memory?
|
||||
|
||||
|
||||
## 4. Storage (disk)
|
||||
|
||||
Storage is where your files, programs, and OS live permanently. Unlike RAM, it persists when you shut down. The two main types:
|
||||
|
||||
- **SSD (Solid State Drive)**: Fast, no moving parts. Standard on modern laptops.
|
||||
- **HDD (Hard Disk Drive)**: Slower, mechanical. Sometimes used for bulk storage.
|
||||
- **SSD (Solid State Drive)**: Fast, no moving parts. Standard on modern laptops and boot volumes in many desktop computers.
|
||||
- **HDD (Hard Disk Drive)**: Slower, mechanical. Often used as bulk or backup storage because they offer more capacity per dollar than SSDs. Common in external drives, network-attached storage (NAS), and as a secondary drive in desktops and workstations.
|
||||
|
||||
### Find your storage
|
||||
|
||||
|
|
@ -188,10 +190,10 @@ If you are low on storage, be selective about what you install, and clean up env
|
|||
|
||||
## 5. GPU (graphics processor)
|
||||
|
||||
A GPU (Graphics Processing Unit) was originally designed for rendering graphics, but its architecture (thousands of small cores optimized for parallel math) makes it excellent for machine learning. There are three common situations:
|
||||
A GPU (Graphics Processing Unit) was originally designed for rendering graphics, but its architecture (thousands of small cores optimized for parallel math -- think matrix multiplication) makes it excellent for machine learning. There are three common situations:
|
||||
|
||||
- **NVIDIA GPU (discrete)**: Found in gaming laptops and workstations. Supports CUDA, which PyTorch uses for fast training. This is the best case for ML work.
|
||||
- **Apple Silicon GPU (integrated)**: The M1/M2/M3/M4 chips include a GPU that PyTorch can use via MPS (Metal Performance Shaders). Faster than CPU, slower than a dedicated NVIDIA GPU.
|
||||
- **Apple Silicon GPU (integrated)**: The M1/M2/M3/M4/M5 chips include a GPU that PyTorch can use via MPS (Metal Performance Shaders). Faster than CPU, slower than a dedicated NVIDIA GPU.
|
||||
- **Intel/AMD integrated GPU**: Built into the CPU. Not usable by PyTorch. Use `--device=cpu`.
|
||||
|
||||
### Find your GPU
|
||||
|
|
@ -217,7 +219,7 @@ If this command works, you have an NVIDIA GPU and the drivers are installed. It
|
|||
Get-CimInstance Win32_VideoController | Select-Object Name, AdapterRAM, DriverVersion
|
||||
```
|
||||
|
||||
This lists every GPU Windows sees on the physical machine — useful on laptops that have both an integrated GPU (Intel/AMD) and a discrete one (NVIDIA).
|
||||
This lists every GPU Windows sees on the physical machine. Useful on laptops that have both an integrated GPU (Intel/AMD) and a discrete one (NVIDIA).
|
||||
|
||||
**Windows (GUI):** Task Manager (Ctrl+Shift+Esc) > Performance > GPU. This shows the GPU name (e.g., "NVIDIA GeForce RTX 4060" or "Intel UHD Graphics"), memory, and utilization.
|
||||
|
||||
|
|
@ -233,7 +235,7 @@ This tells you what PyTorch can use on your machine.
|
|||
|
||||
### Why it matters
|
||||
|
||||
Training a small neural network on CPU takes minutes; on a GPU, seconds. The difference grows dramatically with model size — this is why large language models are trained on clusters of thousands of GPUs. For most introductory computing work, a CPU is sufficient. GPU acceleration is a bonus, not a requirement.
|
||||
Training a small neural network on CPU takes minutes; on a GPU, seconds. The difference grows dramatically with model size. This is why large language models are trained on clusters of thousands of GPUs. For most introductory computing work, a CPU is sufficient. GPU acceleration is a bonus, not a requirement.
|
||||
|
||||
> **Exercise 5:** What GPU (if any) does your machine have? Can PyTorch use it? Run the Python check above (if you have PyTorch installed).
|
||||
|
||||
|
|
@ -283,14 +285,14 @@ If you are on Windows and use the Windows Subsystem for Linux (WSL), your Linux
|
|||
|
||||
### Why this matters
|
||||
|
||||
When you install Python, run a model, or train something *inside WSL*, you are constrained by the VM's allocation, not the machine's full capacity. An 8 GB RAM cap inside WSL can mean a model loads fine on the Windows side but fails inside WSL. Knowing both numbers — physical and VM — lets you predict what will actually run where.
|
||||
When you install Python, run a model, or train something *inside WSL*, you are constrained by the VM's allocation, not the machine's full capacity. An 8 GB RAM cap inside WSL can mean a model loads fine on the Windows side but fails inside WSL. Knowing both numbers (physical and VM) lets you predict what will actually run where.
|
||||
|
||||
> **Exercise 7 (WSL users):** Run `free -h` and `df -h /` inside WSL. Compare the results to the PowerShell readings you recorded in Section 6. How much physical RAM does your VM actually see? How much of your physical disk is the VM using right now?
|
||||
|
||||
|
||||
## 8. Keeping a machine log
|
||||
|
||||
Engineers keep logs for lab equipment, process equipment, and instruments. Your computer deserves the same treatment. Create a document called `machine_log` in your personal files and start it with the spec table from section 6. It should be a simple format — a text, rich text, or markdown file.
|
||||
Engineers keep logs for lab equipment, process equipment, and instruments. Your computer deserves the same treatment. Create a document called `machine_log` in your personal files and start it with the spec table from section 6. It should be a simple format, such as a text, rich text, or markdown file.
|
||||
|
||||
While you are at it, *give your machine a name* if you have not already. (On macOS: System Settings > General > About > Name. On Linux: `hostnamectl set-hostname yourname`. On Windows: Settings > System > About > Rename this PC.) A named machine is easier to reference in logs, SSH configs, and conversation, especially once you have more than one. Put the name at the top of your log.
|
||||
|
||||
|
|
@ -308,6 +310,6 @@ Keep entries short. Date, what changed, and the outcome. When something breaks m
|
|||
|
||||
## Additional resources
|
||||
|
||||
- [Crash Course Computer Science](https://www.youtube.com/playlist?list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo) — episodes 1-10 cover hardware fundamentals (transistors, ALU, registers, RAM, CPU, instructions) at a reasonable pace
|
||||
- J. Clark Scott, *But How Do It Know?* — a short, readable book that builds a computer from logic gates up. Good for understanding what is actually happening inside the machine.
|
||||
- `top` and `htop` — interactive process viewers that show CPU, memory, and process usage in real time. `top` is the classic Unix tool and ships built-in on macOS and Linux, so it's always available. `htop` is a more modern third-party rewrite: colored CPU/memory bars, a scrollable process list, click-to-sort columns, F-keys (or mouse) to kill/renice/filter processes, an F5 tree view, and the same behavior everywhere (macOS `top` and Linux `top` differ in flags and output; `htop` does not). Install with `brew install htop` (macOS) or `sudo apt install htop` (Linux/WSL). Worth knowing both — `top` for "wherever I land," `htop` for daily use on your own machine.
|
||||
- [Crash Course Computer Science](https://www.youtube.com/playlist?list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo). Episodes 1–10 cover hardware fundamentals (transistors, ALU, registers, RAM, CPU, instructions) at a reasonable pace.
|
||||
- J. Clark Scott, *But How Do It Know?*, a short, readable book that builds a computer from logic gates up. Good for understanding what is actually happening inside the machine.
|
||||
- `top` and `htop`. Interactive process viewers that show CPU, memory, and process usage in real time. `top` is the classic Unix tool and ships built-in on macOS and Linux, so it's always available. `htop` is a more modern third-party rewrite: colored CPU/memory bars, a scrollable process list, click-to-sort columns, F-keys (or mouse) to kill/renice/filter processes, an F5 tree view, and the same behavior everywhere (macOS `top` and Linux `top` differ in flags and output; `htop` does not). Install with `brew install htop` (macOS) or `sudo apt install htop` (Linux/WSL). Worth knowing both. `top` for "wherever I land," `htop` for daily use on your own machine.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue