1 / 51
← → navigate · ESC overview
Windows to macOS — Migration Class · 51 slides · click to jump

Windows → macOS — Migration Class

The full text of all 51 slides. The interactive deck above is the same material; this version exists so it can be read, searched, printed and indexed. Use the Text version button to switch back and forth.

Slide 1 of 51 · Onboarding · Windows switchers

Windows → macOS without losing your muscle memory

A class for engineers, admins and power users who know computers cold — but not this one. We map what you already do to how the Mac does it, configure the machine so it stops fighting you, and leave you with a reference deck you will actually come back to.

Open slide 1 in the deck →

Slide 2 of 51 · What we're covering

The map, section by section

Slides badged Do this now are hands-on — laptops open. Slides badged Screenshot this slide are lookup tables: we skim them today, you keep them afterwards.

SectionWhat you walk out with
The mental model & where things liveThe menu bar, the Dock, every System Settings pane, how software installs — and what changes day to day
The keyboardFour modifiers, the three missing keys, and the shortcuts that actually earn their place
Finder, files & SpotlightQuick Look, the view that suits you, copy vs move, and the four defaults to change
Printing, PDF & captureAdd a printer, print to PDF, Preview as Acrobat, screenshots and screen recording
Mission Control, Spaces & windowsThe window manager Windows never gave you — built live
Your mouse & trackpadFive gestures, then every mouse button mapped to something real
Terminal, Unix & securityzsh, find, grep, processes, Homebrew, Gatekeeper, permissions, backups
The apps you use, and your iPhoneClaude Code, Microsoft 365, browsers, Continuity
Wrap-up & setup labWhat to do when it fights you — then run the checklist on your own machine
Open slide 2 in the deck →

Slide 3 of 51 · Part one

The mental model, and where things live

Almost every macOS complaint from a Windows user traces back to one of three assumptions that quietly stopped being true — and to not yet knowing where anything is.

Open slide 3 in the deck →

Slide 4 of 51 · Part 1 · Mental model

Six things that are genuinely different

The app owns the menu bar

There is one menu bar, at the top of the screen, and it belongs to whichever app is focused. Windows has no equivalent. Look up, not into the window.

Apps outlive their windows

Closing the last window (⌘W) does not quit the app. ⌘Q quits. A dot under the Dock icon means still running.

Command, not Control

⌘ took over the shortcut role. Ctrl is now for right-click emulation and system/window navigation.

You navigate by place, not by taskbar

There is no taskbar to hunt through. You put work on separate desktops — Spaces — and move between them with ⌃← / ⌃→. ⌃↑ shows every window at once. You learn where a window is instead of searching for it.

The OS is a certified Unix

A real BSD userland, zsh by default, POSIX paths, no registry. Your Linux instincts transfer far better than your Windows ones.

Scrolling is inverted, and the trackpad is an input device

Natural scrolling is on by default — content follows your fingers, the opposite of Windows. Turn it off for the mouse, leave it on for the trackpad. Two gestures to learn today: two-finger click = right-click, three-finger swipe up = every window at once.

Open slide 4 in the deck →

Slide 5 of 51 · Part 1 · Where things live

The screen, annotated

Six places. Learn these and “where is that on a Mac?” stops being a question — the answer is almost always the menu bar, the Dock, or ⌘Space.

Open slide 5 in the deck →

Slide 6 of 51 · Part 1 · Where things live

Where every setting actually lives

On Windows you openedOn macOS it isThe fast way in
Control Panel / SettingsSystem SettingsThe menu → System Settings, or ⌘Space then settings
Search for a settingThe field at the top-left of System SettingsType firewall, printer, caps lock — it jumps straight to the pane
Device ManagerSystem InformationHold ⌥ and click the menu — About This Mac becomes System Information
Programs and Features/ApplicationsUninstall = drag the .app to the Trash, or brew uninstall --cask <name>
Network and Sharing CenterNetwork · Wi-Fi⌥-click the Wi-Fi icon for SSID, channel, RSSI and tx rate
Devices and PrintersPrinters & ScannersTwo slides from now — we do this one live
Display settingsDisplays⌥-click Scaled to reveal every real resolution, not just the four safe ones
Power OptionsBatteryOptions… for wake-on-network, low power mode and power-adapter behaviour
User AccountsUsers & GroupsTouch ID & Password is a separate pane — that is where fingerprints live
Windows UpdateGeneral → Software UpdateClick the ⓘ next to Automatic Updates for the real switches
Firewall / DefenderNetwork → FirewallMalware protection is silent and built in; Privacy & Security holds the rest
BitLockerPrivacy & Security → FileVaultTurn it on. Escrow the recovery key somewhere that is not the laptop
msconfig → StartupGeneral → Login Items & ExtensionsAlso lists the background agents each app quietly installed
Default appsTwo different placesBrowser: Desktop & Dock. File types: Finder → Get Info → Open with → Change All
Disk ManagementDisk UtilityView → Show All Devices or you only ever see volumes, never the disk
Open slide 6 in the deck →

Slide 7 of 51 · Part 1 · Mental model

App ≠ window — the lifecycle rules

This single misunderstanding causes most of the "why do I have 40 things open" confusion in week one.

You want to…WindowsmacOSNote
Close this windowCtrl + W / Alt + F4⌘ + WApp keeps running
Quit the app entirelyAlt + F4⌘ + QThe one you must learn
Hide it out of the way—⌘ + HHides all windows, keeps state
Hide everything else—⌘ + ⌥ + HInstant focus mode
Minimise to DockWin + ↓⌘ + MUsually the wrong tool — prefer Hide
Switch appsAlt + Tab⌘ + TabSwitches apps, not windows
Switch windows in an appAlt + Tab⌘ + `The missing half of ⌘Tab
Force quitCtrl + Shift + Esc⌘ + ⌥ + EscOr hold-click the Dock icon
New window of same app—⌘ + NMiddle-click Dock icon also works
Open slide 7 in the deck →

Slide 8 of 51 · Part 1 · Where things live

Installing & removing apps — there is no wizard

Uninstalling is the mirror image: drag the .app to the Trash — there is no Programs and Features. Leftovers sit in ~/Library; brew uninstall --cask clears them properly, AppCleaner catches the rest.

Open slide 8 in the deck →

Slide 9 of 51 · Part 1 · What changes

What actually changes, day to day

The differences people remember after a month are almost never the shortcuts. They are these — and every one of them is a reason the machine gets out of your way.

Open slide 9 in the deck →

Slide 10 of 51 · Part two

The keyboard

Time spent here saves you hours later. Everything else in this class assumes these keys are in your fingers.

Open slide 10 in the deck →

Slide 11 of 51 · Part 2 · Keyboard

The Mac keyboard, annotated

Four modifiers instead of three, one key that did not exist on your PC, and three keys that are missing. If a Windows shortcut used Ctrl, try ⌘ first — you will be right about nine times in ten. Everything on the next slide is a consequence of this picture.

Open slide 11 in the deck →

Slide 12 of 51 · Part 2 · Keyboard

Shortcut translation — the four that matter, then the rest

ActionWindowsmacOS
Copy / Cut / PasteCtrl + C/X/V⌘ + C/X/V
Undo / RedoCtrl + Z / Ctrl + Y⌘ + Z  /  ⌘⇧ + Z
Save / Save AsCtrl + S⌘ + S  /  ⌘⇧ + S
Print / Find / Select allCtrl + P/F/A⌘ + P/F/A
Settings / Preferencesvaries by app⌘ + , — universal, every app
New tab / Close / ReopenCtrl+T / Ctrl+W / Ctrl+Shift+T⌘T · ⌘W · ⌘⇧T
Refresh / hard refreshF5 / Ctrl + F5⌘R  /  ⌘⇧R
Spotlight / Start searchWin⌘ + Space
Every window at onceWin + Tab⌃ + ↑
Lock the screenWin + L⌃⌘ + Q
Rename the selected fileF2Return
Show a file in Finder—⌘-click the window title, or right-click → Show in Finder
Home / EndHome / End⌘ + ←  /  ⌘ + →
Move / delete by wordCtrl + ←/→ · Ctrl+⌫⌥ + ←/→ · ⌥⌫
Delete forwardDelfn + ⌫
Paste without formattingCtrl + Shift + V⌘⌥⇧ + V
Open slide 12 in the deck →

Slide 13 of 51 · Part three

Finder, files and Spotlight

Finder is not a worse Explorer. It is a differently-shaped Explorer with three features Explorer never had — and four defaults you must change in the first ninety seconds.

Open slide 13 in the deck →

Slide 14 of 51 · Part 3 · Files

Finder, annotated

Finder ships deliberately bare. Turn on the path bar, the status bar, the sidebar entries and folder-scoped search and it stops feeling like a downgrade from Explorer — that is four checkboxes, ninety seconds.

Open slide 14 in the deck →

Slide 15 of 51 · Part 3 · Files

Finder vs Explorer — what to adopt, what to watch for

Quick Look — select anything, press Space

A full preview with no app launch: PDFs, Office documents, images, video, audio, code, zip contents, even 3D models. Space again closes it. Arrow keys move to the next file while it stays open, so you can flick through a folder in seconds. Nothing on Windows comes close, and it is the single habit that makes Finder feel faster than Explorer.

Four of them — pick yours

List (⌘2) is Explorer’s Details: sortable columns, sizes, dates — most switchers stay here. Icon (⌘1), Column (⌘3) for deep trees, Gallery (⌘4) for media. Set the one you like, then View → Show View Options → Use as Defaults so every folder opens that way.

Copy vs move

There is no Ctrl+X for files. ⌘C then ⌘V copies. ⌘C then ⌘⌥V moves — same result as cut/paste. Dragging moves within the same disk but copies across disks; hold ⌘ while dragging to force a move, ⌥ to force a copy.

There is no address bar

Turn on View → Show Path Bar for breadcrumbs at the bottom. ⌘⇧G opens Go to Folder — type a path, ~ and tab-completion both work. Drag any folder into Terminal to paste its full path.

Open slide 15 in the deck →

Slide 16 of 51 · Part 3 · Files

Spotlight is the Start menu, the calculator and the launcher

⌘Space then type. Never hunt the Applications folder again — and stop reaching for the mouse to open anything.

Apps & files

Type three letters, press Return. ⌘Return reveals the item in Finder instead of opening it.

Calculator & units

1080*1.21, 42 GBP in EUR, 180 lb in kg, 12 Aug + 90 days. Answers inline, ⌘C copies.

Content search

Searches file contents, not just names. Use kind:pdf, created:this week, author: to narrow.

Actions, clipboard, Quick Keys

Tahoe rebuilt Spotlight: run app actions (send a message, start a timer) without opening the app, browse clipboard history, and use auto-suggested Quick Keys — two letters for a frequent action.

Raycast (recommended)

Same ⌘Space muscle memory, plus clipboard history, window management, snippets, script commands and an extension store. Free.

Preview panel = full path

Hover a Spotlight result and press ⌘ to see its full path in the footer — the fastest 'where is this thing' check on the system.

Open slide 16 in the deck →

Slide 17 of 51 · Part four

Printing, PDF and capture

The most requested part of this class, and the one with the most hidden depth. Every app on this machine can produce a PDF, and the whole print stack is CUPS underneath.

Open slide 17 in the deck →

Slide 18 of 51 · Part 4 · Printing

The print dialog, annotated

Advanced tip worth the whole slide: give Save as PDF a real shortcut. System Settings → Keyboard → Keyboard Shortcuts → App Shortcuts → + → All Applications, menu title exactly Save as PDF… (with the real ellipsis), assign ⌃⌘P. Now every app on the machine prints to PDF in two chords.

Open slide 18 in the deck →

Slide 19 of 51 · Part 4 · Printing

Printers & Scanners — add one, and see what it is doing

System Settings → Printers & Scanners

1. ⌘Space, type printers, Return. 2. Click Add Printer, Scanner or Fax… 3. Default tab. AirPrint and Bonjour printers on your network list themselves. Select one, wait for Use: to fill in, click Add. Usually that is the whole job. 4. IP tab when nothing appears — the corporate case. Address = hostname or IP, Protocol = IPP (fall back to LPD), Queue = blank unless IT gave you one. 5. Windows tab for SMB queues: smb://printserver/queue and your domain login.

The four nobody shows you

Default printer and default paper size are at the bottom of the pane. Set both now, or every print dialog guesses. Options & Supplies → Options is where you tick the duplexer and extra trays. Until you do, macOS will not offer two-sided at all — easily the most common “my Mac cannot duplex” ticket. Nothing works? Right-click the printer list → Reset printing system…. It clears every printer and job and fixes almost everything. Scanning is the Scan tab in the same pane, or Image Capture.

Status, jobs and toner — all GUI

Printer Queue… (button in the pane, or the printer’s Dock icon while printing) — pause, resume, reorder and delete jobs. This is the window you got on Windows by double-clicking the tray icon. Options & Supplies → Supplies shows ink and toner levels. Print a test page from the queue window’s Printer menu. The printer’s own web page — type its IP into a browser. Most network printers expose full status, counters and config there, and it beats anything on the Mac.

Open slide 19 in the deck →

Slide 20 of 51 · Part 4 · PDF

Preview — the Acrobat licence you do not need to buy

You just made a PDF. Preview is what you do with it — and it covers most of what people pay Acrobat Pro for. It opens with Space from Finder, too.

Merge & reorder pages

Open one PDF, View → Thumbnails, then drag another PDF straight into the sidebar. Drag thumbnails to reorder, ⌫ to delete, ⌘L/⌘R to rotate.

Extract without splitting tools

Drag any page thumbnail out of the sidebar onto the Desktop and you get a new PDF of just that page. Select several first with ⌘-click.

Annotate & sign, properly

Tools → Annotate. Capture your signature once — trackpad, camera or iPhone — and it is available in every document forever. This retires printing, signing and re-scanning.

Redaction that actually redacts

Tools → Redact removes the underlying text, unlike a black rectangle drawn on top. Then File → Export to flatten it before you send it.

Encrypt and compress

File → Export → tick Encrypt for a password. Same dialog, Quartz Filter → Reduce File Size, when a 40 MB scan will not fit through mail.

A surprisingly good image editor

Crop (⌘K), Instant Alpha, Adjust Colour, and Export to change format. Live Text means you can select and copy the words out of a screenshot.

Open slide 20 in the deck →

Slide 21 of 51 · Part 4 · Capture

Screen capture — far past the Snipping Tool

What you wantKeysNotes
Drag a region⌘⇧ + 4The everyday one. Hold Space mid-drag to move the selection
A specific window⌘⇧ + 4, then SpacePointer becomes a camera — click the window. ⌥-click drops the shadow
The capture toolbar⌘⇧ + 5Everything in one panel: region, window, screen, video, timer and where it saves
Whole screen⌘⇧ + 3Straight to a file, no prompt
…to the clipboard insteadadd ⌃e.g. ⌃⌘⇧4 — the Ctrl+Shift+S habit you are missing
Record the screen⌘⇧ + 5 → RecordOr QuickTime Player → File → New Screen Recording
Record an iPhone or iPadQuickTime → New Movie RecordingPlug in over USB, then pick the device as the camera source
Copy text out of a picturejust select itLive Text, built in — works in Preview, Quick Look and Photos

Where screenshots land

By default they pile up on the Desktop. Press ⌘⇧5, click Options, and pick a folder under Save to — Pictures, or a Screenshots folder you make. The same menu holds the 5- and 10-second timers and whether the pointer is included.

That floating thumbnail

After each capture a thumbnail floats in the corner. Click it to annotate in Markup straight away, or drag it directly into Slack, Teams or Mail — the file never has to exist. Swipe it right to dismiss.

QuickTime Player

In /Applications. New Screen Recording for video, New Movie Recording to record a connected iPhone, New Audio Recording for voice. Needs Screen Recording in Privacy & Security first, then relaunch it.

Open slide 21 in the deck →

Slide 22 of 51 · Part five

Mission Control, Spaces and windows

The headline feature of this class. Windows gave you a taskbar; macOS gives you a spatial window manager. It is genuinely better once configured.

Open slide 22 in the deck →

Slide 23 of 51 · Part 5 · Mission Control

Mission Control — every window, every Space, one keystroke

⌃↑ (or a three-finger swipe up on the trackpad) explodes every window in the current Space into a non-overlapping grid, and puts your Spaces in a strip along the top. Click a window to jump to it; drag a window onto a Space thumbnail to move it there. Esc or swipe down to leave.

Open slide 23 in the deck →

Slide 24 of 51 · Part 5 · Spaces

Build two or three Spaces — do it now

The five moves

1. Add a Space. ⌃↑ for Mission Control, move the pointer to the top edge to reveal the strip, click + on the right. Do it twice. 2. Move between them. ⌃← / ⌃→, or a three-finger sideways swipe. 3. Jump directly. ⌃1 / ⌃2 / ⌃3 — you must enable these first under Keyboard → Keyboard Shortcuts → Mission Control. 4. Move a window in. In Mission Control, drag the window onto a Space thumbnail. Or drag the window to the screen edge and hold. 5. Reorder / remove. Drag thumbnails to reorder; hover one and click × to delete — its windows fall back to the Space on the left, nothing is lost.

Three rules

Turn off auto-rearrange. Desktop & Dock → uncheck “Automatically rearrange Spaces based on most recent use”. Otherwise Space 2 keeps moving and your spatial memory never forms. This is the single most important setting on this slide. Pin your apps. Right-click a Dock icon → Options → Assign To → This Desktop. Outlook always lands on 1, your editor on 2. Now the layout survives a restart. Two is fine. If three feels like too much, run work and distraction. Two Spaces and one keystroke already beat a taskbar with twenty windows on it.

Open slide 24 in the deck →

Slide 25 of 51 · Part 5 · Windows

Window management — the honest assessment

What you did on WindowsNative macOSVerdict
Win+←/→ snap to halfDrag to a screen edge, or fn+⌃+←/→/↑/↓ for halves, fn+⌃+⇧+arrows for quarters, fn+⌃+C to centreGenuinely good since macOS 15 and better in 26. Turn off the gaps: Desktop & Dock → Tiled windows have margins
Win+↑ maximisefn + ⌃ + F (Fill) or double-click the title barThe green button goes full screen, which is not maximise
Drag window between monitorsJust drag — or Window → Move to…Fine
Resize from any edgeDrag any edge; hold ⌥ to resize symmetricallyFine
Alt-tab through windows⌘ + Tab is apps; ⌘ + ` is windowsInstall AltTab for real per-window switching
Taskbar preview / groupingDock + Mission ControlDifferent, not worse
Always on topNot available nativelyNeeds a third-party tool

Rectangle

Free, open source. Restores ⌃⌥←/→-style snapping with halves, quarters, thirds and cycling. The single highest-value app for an ex-Windows user.

AltTab

A real Alt+Tab: window-level thumbnails across all Spaces, in most-recently-used order. Bind it to ⌥Tab and keep ⌘Tab for apps.

Raycast / Amethyst

Raycast bundles window management with its launcher. Amethyst gives you a real tiling WM if you came from i3 rather than from Windows.

Open slide 25 in the deck →

Slide 26 of 51 · Part six

Your mouse and trackpad

Learn five trackpad gestures even if you live on a mouse — then fix the mouse. A Windows-tuned Logitech on a Mac feels sluggish, scrolls backwards and wastes four buttons; a little setup fixes all three.

Open slide 26 in the deck →

Slide 27 of 51 · Part 6 · Input

Trackpad gestures — because you will use one eventually

Even if you live on a mouse, learn these five. They are the fastest path to Mission Control and Spaces, and they inform how we map the mouse next.

GestureDoesEquivalent key
Two-finger tap / clickRight-click⌃ + click
Two-finger swipeScroll (natural direction — content follows fingers)—
Two-finger swipe sideways in a browserBack / forward⌘ + [ / ⌘ + ]
Three-finger swipe upMission Control⌃ + ↑
Three-finger swipe downApp Exposé⌃ + ↓
Three-finger swipe sidewaysSwitch Space⌃ + ←/→
Pinch / spread two fingersZoom⌘ + + / -
Thumb + three fingers spreadShow DesktopF11
Thumb + three fingers pinchApps panel in Spotlight (was Launchpad)fn + F4
Three-finger drag (must be enabled)Move windows without clicking—
Force-click / long pressLook up, preview links, rename—
Open slide 27 in the deck →

Slide 28 of 51 · Part 6 · Your mouse

Why your mouse feels wrong — and the two apps that fix it

SymptomCauseFix
Scrolling goes the “wrong” waymacOS ships natural scrolling on — content follows your fingersSystem Settings → Mouse → uncheck Natural scrolling. The trackpad has a separate switch — leave that one on
Pointer feels slow, then dartsA different acceleration curve, and the GUI cannot turn it offInstall LinearMouse (free) and set acceleration to 0 for a 1:1 feel
Scroll wheel jumps in chunksNo smooth-scroll interpolation for wheelsLinearMouse adds smooth scrolling; MagSpeed free-spin also helps
Side buttons do nothingThe generic driver ignores buttons 4 and 5Install Logi Options+, then grant it the two permissions below
Drops out on wakeBluetooth LE reconnect quirksUse the Logi Bolt USB receiver instead of Bluetooth — more reliable, lower latency

Straight from the vendor — no terminal

1. Download Logi Options+ from logitech.com/software/options.html and run the installer. Same for LinearMouse from its own site. 2. Grant both Accessibility and Input Monitoring in System Settings → Privacy & Security. Without both, remapping silently does nothing at all — no error, no warning. 3. Pick your device → Mouse tab → click any button on the picture to reassign it. 4. Sign in to Options+ to back the profile up. You will not want to redo this.

Per-app profiles

Options+ switches mappings automatically when you change app: • Browser — thumb wheel becomes tab left/right • Excel — thumb wheel becomes native horizontal scroll • Teams / Zoom — a dedicated mute button If a mapping refuses to fire, it is almost always the permissions step: toggle the app off and on under Input Monitoring, then log out and back in.

Open slide 28 in the deck →

Slide 29 of 51 · Part 6 · Logitech mouse

Seven inputs, not two

Most people arrive from Windows using three of these. The two wheels and the gesture button are where the Mac-specific value is — they map cleanly onto Mission Control and Spaces, which is exactly the navigation you have no keyboard habit for yet.

Open slide 29 in the deck →

Slide 30 of 51 · Part 6 · Logitech mouse

Recommended mapping

ControlAssign toSends / doesWhy this one
Wheel click (middle)Mission Control⌃ + ↑The single most useful macOS view, on the button your thumb-free hand already rests on
Mode-shift button (below wheel)App Exposé⌃ + ↓Pairs with the above — all windows of the current app. Keep it on free-spin toggle if you scroll long documents
Thumb wheel left / rightSwitch Space⌃ + ← / ⌃ + →Turns horizontal scroll into the gesture you cannot do on a mouse. The change people notice most
Back buttonNavigate back⌘ + [Works in Safari, Chrome, Finder, Preview, Xcode — anything with a back action
Forward buttonNavigate forward⌘ + ]Same
Gesture button: pressShow DesktopF11Instant ‘get out of my way’, replacing Win+D
Gesture: hold + upFull screen toggle⌃ + ⌘ + FFocus on one window
Gesture: hold + downApps panel / Quick Lookfn + F4 or SpaceApp launching without the keyboard
Gesture: hold + left/rightJump to Space 1 / 2⌃ + 1 / ⌃ + 2Direct addressing beats walking the strip
Wheel scrollScroll — natural OFF—Match your Windows expectation; leave the trackpad natural
Open slide 30 in the deck →

Slide 31 of 51 · Part seven

Terminal, Unix and security

The part where being technical finally pays off: underneath the chrome, this is a certified Unix, and your Linux knowledge transfers almost intact.

Open slide 31 in the deck →

Slide 32 of 51 · Part 7 · Tooling

Windows → macOS equivalents

WindowsmacOS
Task ManagerActivity Monitor · ⌘ + ⌥ + Esc to force quit
File ExplorerFinder
Control PanelSystem Settings
Registry / regeditdefaults + plists in ~/Library/Preferences
Program Files/Applications — apps are .app bundles (folders)
%APPDATA%~/Library/Application Support
services.msclaunchd / launchctl, brew services
Event ViewerConsole.app, log show, log stream
Device ManagerSystem Information (⌥-click the Apple menu)
Disk ManagementDisk Utility / diskutil
BitLockerFileVault
Group PolicyConfiguration Profiles via MDM (Jamf, Intune, Kandji)
Sysinternals suitefs_usage, dtruss, lsof, Instruments
Windows CLImacOS CLI
PowerShell / cmdzsh (default since Catalina)
Windows TerminalTerminal.app, iTerm2, Ghostty, WezTerm
winget / choco / scoopbrew — Homebrew
WSLYou are already on Unix. Containers: OrbStack, Colima, Docker Desktop
Hyper-VVirtualization.framework → UTM, Parallels, VMware Fusion
ipconfig /allifconfig, networksetup, ipconfig getifaddr en0
tasklist / taskkillps aux, kill, pkill
wherewhich / type
clippbcopy / pbpaste
robocopyrsync -a / ditto
net use / mapped drivemount_smbfs, or Finder ⌘ + K
sfc /scannowfsck, First Aid in Disk Utility
RDP to a serverMicrosoft Remote Desktop; incoming = Screen Sharing / vnc://
start .open . — also open -a Safari
Open slide 32 in the deck →

Slide 33 of 51 · Part 7 · Dev environment

Day-one shell setup

# 1. Command line tools (compilers, git, make) — ~2 GB, do this first
xcode-select --install

# 2. Homebrew. On Apple Silicon it lives in /opt/homebrew, NOT /usr/local
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
source ~/.zprofile

# 3. The essentials, plus GNU tools so your Linux muscle memory works
brew install git gh jq wget htop tree ripgrep fd bat coreutils gnu-sed gawk findutils

# 4. GUI apps, scripted — no download-and-drag needed
brew install --cask rectangle raycast iterm2 alt-tab logi-options-plus linearmouse \
                    visual-studio-code google-chrome maccy karabiner-elements

# 5. Touch ID for sudo — survives OS updates, unlike editing /etc/pam.d/sudo
sudo cp /etc/pam.d/sudo_local.template /etc/pam.d/sudo_local
sudo sed -i '' 's/^#auth/auth/' /etc/pam.d/sudo_local

# 6. SSH key + keychain integration
ssh-keygen -t ed25519 -C "$(whoami)@$(scutil --get ComputerName)"
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
printf 'Host *\n  UseKeychain yes\n  AddKeysToAgent yes\n' >> ~/.ssh/config

Files that matter: ~/.zprofile for login-shell PATH, ~/.zshrc for interactive config. There is no .bashrc in play unless you switch shells. Per-directory environments still come from direnv, asdf or mise.

Open slide 33 in the deck →

Slide 34 of 51 · Part 7 · Shell

Profiles, rc files — and where variables live

No System Properties dialog and no setx — zsh reads four files, in a set order.

FileRead whenPut this in it
~/.zshenvEvery zsh — login, interactive, scripts, cronAlmost nothing. Only vars that non-interactive scripts genuinely need. Anything slow here slows every command
~/.zprofileLogin shells only, once per sessionPATH and one-time setup: eval "$(/opt/homebrew/bin/brew shellenv)", export EDITOR=nvim, export JAVA_HOME=..., version managers
~/.zshrcEvery interactive shell — each new tab/windowAliases, functions, prompt, completions, key bindings, setopt, history config, direnv hook. The file you edit most
~/.zlogin / ~/.zlogoutEnd of login / on exitRarely used. Login banners, fortune, cleanup
/etc/paths + /etc/paths.d/*Login, via path_helperSystem-wide PATH entries. This is macOS-specific and is why your PATH gets reordered
~/.bashrcNever, unless you run bashzsh has been the default since Catalina. bash 3.2 still ships for script compatibility only

GUI apps never read your shell files

Apps launched from the Dock or Spotlight get none of your ~/.zshrc exports — which is why “it works in my terminal but not in the IDE”. Fix: launchctl setenv MY_VAR value, or start the app from the shell.

Open slide 34 in the deck →

Slide 35 of 51 · Part 7 · Shell

Variables, and putting the folder in your prompt

A bare assignment lives and dies in the shell you typed it in. export is what hands it to everything that shell launches.

# A bare assignment is visible to THIS shell only
GREETING=hello
zsh -c 'echo $GREETING'      # nothing — the child cannot see it

# export promotes it into the environment children inherit
export GREETING=hello
zsh -c 'echo $GREETING'      # hello

# Three ways to look at what you have
set | less                   # every shell variable and function
env | sort                   # only the exported ones
printenv PATH                # just one, by name
echo $PATH | tr ':' '\n'     # PATH, one entry per line
zsh -xl 2>&1 | head -50      # trace which files load, in order

Put the folder in your prompt

macOS already shows it: /etc/zshrc sets PS1="%n@%m %1~ %# " — user@host, folder, prompt. Override it in ~/.zshrc:

PROMPT='%F{blue}%~%f %# '

%~ path with ~ · %1~ last folder only · %/ absolute · %F{c}…%f colour · RPROMPT for the right-hand edge. Preview any prompt string before committing to it: print -P '%~'.

Open slide 35 in the deck →

Slide 36 of 51 · Part 7 · Command line

Finding large files — what is eating my disk

### WHAT IS EATING MY DISK
df -h                                    # free space per volume
du -sh ~/*                               # size of each top-level item in home
du -h -d 1 ~ | sort -h                   # same, sorted smallest → largest
du -sh ~/Library/* 2>/dev/null | sort -h | tail -20   # the usual culprit

# Every file over 500 MB under home (BSD find takes k/M/G suffixes)
find ~ -type f -size +500M -exec ls -lh {} + 2>/dev/null | sort -k5 -h

# Robust against spaces in filenames, human-sorted
find ~ -type f -size +1G -print0 2>/dev/null | xargs -0 du -h | sort -h

# Top 20 biggest files anywhere on the boot volume
sudo find / -xdev -type f -size +200M 2>/dev/null | xargs -I{} du -h "{}" | sort -h | tail -20

# Interactive, and far nicer:  brew install ncdu
ncdu ~ --exclude ~/Library/CloudStorage
Open slide 36 in the deck →

Slide 37 of 51 · Part 7 · Command line

What is running, and how to stop it

# Find it before you kill it — -f matches the whole command line
pgrep -fl node                    # list what matches, and read it
pkill -f "node.*dev-server"     # then kill by that pattern

# The UI processes are safe to restart — they come straight back
killall Finder                    # Finder gone weird
killall Dock                      # Dock or Mission Control gone weird

# What is hogging the machine
ps aux | sort -nrk 3 | head       # top CPU (-nrk 4 for memory)
top -o cpu -n 15                  # or: brew install htop
pmset -g assertions                # what is stopping it sleeping

Activity Monitor is Task Manager

⌘⌥Esc is only the force-quit box. The real tool is Activity Monitor with CPU / Memory / Energy / Disk / Network tabs. Double-click a process → Sample shows exactly where it is stuck. For almost everything, use this rather than the shell.

Always pgrep before pkill

-f matches the entire command line, so a loose pattern can take down more than you meant. Run pgrep -fl with the same pattern first and read the list it prints.

killall Finder fixes a lot

Finder showing stale files, the Dock stuck, Mission Control misbehaving — killall Finder or killall Dock restarts just that piece in about a second. Nothing is lost and no reboot is needed.

Open slide 37 in the deck →

Slide 38 of 51 · Part 7 · Command line

find — locating files when Finder will not do

# The shape is always:  find <where>  <what to test>  <what to do>
find ~/Projects -name "*.log"            # by name, case-sensitive
find . -iname "readme*"                  # -i = ignore case
find . -type f -name "*.ts" -not -path "*/node_modules/*"
find . -type d -name build               # directories only
find . -maxdepth 2 -name "*.pdf"          # stop it recursing forever
find . -mtime -7                         # touched in the last 7 days
find . -size +100M                       # larger than 100 MB (k / M / G)
find . -empty -type f                    # zero-byte leftovers

# ...then act on it: -exec runs a command, {} is each file found
find . -name "*.tmp" -delete
find . -name "*.png" -exec sips -Z 800 {} \;     # \; = run once per file
find . -name "*.txt" -exec grep -l TODO {} +     # +  = batch many per run
find . -name "*.log" -mtime +30 -exec rm -v {} +  # one rm, many files
find . -name "*.jpg" -print0 | xargs -0 ls -lh  # survives spaces

BSD, not GNU

No -printf, and argument order genuinely matters — -delete placed before your tests will delete more than you meant. brew install findutils gives you gfind with Linux semantics.

Silence the noise

Append 2>/dev/null. Searching under ~ hits permission-denied walls inside ~/Library no matter who you are, and the errors bury your results.

The indexed alternative

mdfind -name budget queries Spotlight’s index and returns instantly; mdfind "kMDItemKind == 'PDF'" for metadata. It misses anything excluded in Spotlight Privacy. brew install fd for fd -e pdf budget.

Open slide 38 in the deck →

Slide 39 of 51 · Part 7 · Command line

grep — searching inside files, and inside pipes

grep -rn "TODO" .                   # -r recurse, -n line numbers
grep -rni "timeout" logs/            # -i ignore case
grep -rn --include="*.py" "def main" .
grep -rn --exclude-dir=node_modules "apiKey" .
grep -w "id" schema.sql             # whole word — not "uuid"
grep -c "ERROR" app.log              # just count them
grep -l "TODO" *.md                  # just name the files
grep -v "DEBUG" app.log              # invert: everything except
grep -B2 -A5 "Exception" app.log     # context before / after
grep -E "warn|error|fatal" app.log   # extended regex (old egrep)

# where it really earns its keep — on the end of a pipe
ps aux | grep -i chrome              # Task Manager, but greppable
history | grep ssh                   # what was that command last week?
log show --last 1h | grep -i bluetooth # Event Viewer, searchable
grep -rn "apiKey" . | pbcopy         # results straight to the clipboard

grep vs Spotlight

Spotlight searches an index of documents it decided to index. grep reads the actual bytes, right now — source, logs, dotfiles, config, and everything Spotlight was told to skip. Code and logs: always grep.

ripgrep is strictly better

brew install ripgrep. rg TODO recurses by default, skips .gitignored files and binaries, colourises, and runs several times faster. rg -t py, rg -i, rg -C3.

Claude Code runs on these exact commands

An agent looks like magic and is mostly six primitives: its Grep tool is ripgrep, Glob is find, Read / Write / Edit are file I/O, and Bash runs the rest. Everything above that — subagents, web, workflows — is orchestration. What you just learned is what it is doing.

Open slide 39 in the deck →

Slide 40 of 51 · Part 7 · Dev environment

Unix gotchas that will burn a day if nobody tells you

sed -i ''

macOS ships BSD userland. sed -i needs an explicit empty backup arg, date flags differ, readlink -f is missing. Install coreutils gnu-sed and prefix with g (gsed), or put gnubin paths first in your PATH.

Case-insensitive by default

APFS is case-insensitive, case-preserving. README.md and readme.md collide — a real source of CI-passes-locally-fails-in-Linux bugs. You can create a case-sensitive volume for source trees.

.DS_Store & resource forks

Finder litters directories with .DS_Store. Add it to your global gitignore. Archives created on a Mac carry ._ AppleDouble files — use zip -x '.*' or COPYFILE_DISABLE=1 tar.

LF, like Linux

Good news: no CRLF drama. But files you carry over from Windows will have CRLF — set core.autocrlf=input and run dos2unix on legacy scripts.

/Users/you, and spaces are common

~ is /Users/<name>. Paths like /Applications/Visual Studio Code.app contain spaces — quote everything. /Volumes/ is where mounted disks appear.

Port 5000 / 7000 are taken

AirPlay Receiver binds 5000 and 7000. Either turn it off in General → AirDrop & Handoff or move your dev server. Ports below 1024 still need root.

Open slide 40 in the deck →

Slide 41 of 51 · Part 7 · Security model

The security model — four things that will block you

MechanismWhat it doesWhat you will seeHow to deal with it
Gatekeeper + notarisationRefuses to launch unsigned or un-notarised apps“…cannot be opened because the developer cannot be verified”System Settings → Privacy & Security → Open Anyway. Or right-click → Open. Only for software you trust
Quarantine attributeExtended attribute stamped on every downloadSame dialog, or a script that silently refuses to runxattr -d com.apple.quarantine <path>; inspect with xattr -l
TCC (privacy consent)Per-app gates on Screen Recording, Accessibility, Input Monitoring, Files & Folders, Camera, Mic, AutomationYour remapper / screenshot tool / terminal does nothing at all, with no errorPrivacy & Security → grant the specific permission, then restart the app. This is the #1 cause of ‘it just does not work’
SIP (System Integrity Protection)Makes system directories immutable even for rootOperation not permitted writing to /usr, /SystemCheck with csrutil status. Do not disable it — put things in /usr/local or /opt
FileVaultFull-disk encryption, keyed to your login—Turn it on. Escrow the recovery key with IT, not in a note on the desktop
KeychainSystem-wide credential store; also holds certs and SSH passphrases—security find-generic-password for scripting; Keychain Access.app for the GUI
Open slide 41 in the deck →

Slide 42 of 51 · Part 7 · Safety net

Backups, versions — and getting your files off the PC

FileVault protects the disk if the laptop is stolen. It does nothing at all if you delete the wrong folder. These are the four things that actually get your work back.

Time Machine

System Settings → General → Time Machine. Any external disk or SMB share. Hourly for a day, daily for a month, weekly beyond that, until the disk fills — then it rotates. Set it once and forget it.

Local snapshots

Even with no disk attached, APFS keeps hourly snapshots on the internal drive for 24 hours. tmutil listlocalsnapshots /. That is what saves you between backups — and why an installer can roll itself back.

Two different rescues

Menu bar → Enter Time Machine to scrub one folder back through time and pull out a single file. For a dead machine: boot to Recovery and restore the whole system onto a new Mac.

iCloud Drive

It can sync your Desktop and Documents, which is convenient and is not a backup: delete a file here and it is deleted everywhere. Treat it as availability, never as your only copy.

Versions & autosave

Native apps keep a full version history: File → Revert To → Browse All Versions gives you a Time-Machine-style scrubber inside Pages, Numbers, TextEdit, Preview and Keynote.

Migration Assistant

Yes, it moves you off the PC. Install Windows Migration Assistant on the Windows box, put both on the same network, and it brings across documents, mail, contacts and calendars. Do it before you customise anything.

Open slide 42 in the deck →

Slide 43 of 51 · Part 7 · In the enterprise

The corporate stack on a Mac

NeedOn macOSWatch out for
Exchange mail & calendarOutlook for Mac, or native Mail + Calendar via Microsoft 365Native Mail handles Exchange fine but lags on shared calendars and rooms — most orgs standardise on Outlook
Teams, OneDrive, SharePointFirst-party Microsoft apps, all fully supportedOneDrive uses Files On-Demand; a path under ~/Library/CloudStorage/ may not exist on disk until opened. Breaks naive scripts
Network sharesFinder ⌘ + K → smb://server/share, mounts under /VolumesNo drive letters. Save a favourite, or script mount_smbfs in a login item
VPNNative IKEv2/L2TP, or the vendor client (Cisco Secure Client, GlobalProtect, Zscaler)Vendor clients need a system extension → expect an approval prompt and a reboot
PrintingAirPrint or the vendor PPD via lpadmin / CUPS at localhost:631Old enterprise printers may need the manufacturer driver installed first
Device managementMDM — Jamf, Intune, Kandji, MosyleConfiguration Profiles can lock the very settings this class tells you to change. Ask IT what is enforced
Remote into WindowsMicrosoft Remote Desktop (Windows App)Keyboard mapping: your Mac ⌘ usually maps to Windows Ctrl inside the session
Windows-only softwareParallels Desktop (ARM Windows 11), or a VDI/Citrix sessionx86-only apps run via emulation inside ARM Windows — test before you promise it
Open slide 43 in the deck →

Slide 44 of 51 · Part eight

The apps you already use — and your iPhone

Claude Code, Microsoft 365, Chrome and Safari all run here — but the chords move, and a few things get meaningfully better. Then the half of the machine with no Windows equivalent at all: the phone in your pocket.

Open slide 44 in the deck →

Slide 45 of 51 · Part 8 · Claude Code

Claude Code on macOS — install, run, and fix the keyboard

# Install — native installer (no Node needed), or npm if you already have it
curl -fsSL https://claude.ai/install.sh | bash
npm install -g @anthropic-ai/claude-code      # alternative

# Run it from the project root — same as on Windows
cd ~/projects/thing && claude
claude --continue          # pick up the last session in this directory
claude -p "summarise the diff"   # one-shot, pipeable, good in scripts
Mac-specific thingWhy it bitesFix
Multi-line inputShift+Return sends instead of adding a newline in Terminal.appRun /terminal-setup once — it installs the binding for iTerm2 and VS Code. Or use ⌥Return, or end a line with \
Option key does nothing usefulTerminal.app sends the accented character instead of Meta/EscTerminal → Settings → Keyboard → Use Option as Meta key. In iTerm2: Profiles → Keys → Left Option = Esc+
Pasting a screenshotThe single best Mac feature for Claude Code, and nobody finds it⌃ + ⌘ + ⇧ + 4 grabs a region to the clipboard, then ⌃V (not ⌘V) pastes the image into the prompt
Referencing filesLong paths with spaces are painful to typeType @ to fuzzy-pick a file, or drag a file from Finder into the terminal to insert its quoted path
Clearing the screenTwo different clears⌘ + K clears the terminal scrollback; /clear clears the conversation context. They are not the same thing
Interrupt / rewindCtrl+C habitsEsc stops Claude mid-task; Esc twice opens the message history to rewind. ⌃C still kills the CLI
Permission prompts everywhereTCC, not Claude CodeGive your terminal Full Disk Access (to touch ~/Library) and approve Automation the first time a script drives another app
Open slide 45 in the deck →

Slide 46 of 51 · Part 8 · The apps you use

Office and browsers — the keys that move

The files are identical and round-trip perfectly. Only the fingers change — and a couple of permissions catch everyone on day one.

ActionWindowsmacOS
Edit the active cellF2⌃ + U
Absolute reference $F4⌘ + T
Paste SpecialCtrl + Alt + V⌃⌘ + V
AutoSumAlt + =⌘⇧ + T
Get the real F-keys backdefaultKeyboard → Use F1, F2 as standard function keys
Alt ribbon acceleratorsAlt → H → O → IGone. Use ⌘⇧ + / to search every command
Outlook modules—⌘1 mail · ⌘2 calendar · ⌘3 people
Teams screen share is black—Privacy & Security → Screen Recording → Teams, then relaunch
Where OneDrive really lives—~/Library/CloudStorage/OneDrive-<Org>/
ActionWindowsmacOS
Address barCtrl + L / F6⌘ + L
New / close / reopen tabCtrl+T / W / Shift+T⌘T · ⌘W · ⌘⇧T
Jump to tab 1–8 / last—⌘ + 1…8  /  ⌘ + 9
Reload / hard reloadF5 / Ctrl + F5⌘R  /  ⌘⇧R
DevToolsF12⌘⌥ + I
Back / forward—⌘[  /  ⌘] — and your mouse buttons
Change the default browser—System Settings → Desktop & Dock
Safari on battery—Measurably longer runtime than Chrome on the same laptop
Safari gotcha—⌘⇧R is Reader. Hard reload is ⌘⌥R
Open slide 46 in the deck →

Slide 47 of 51 · Part 8 · Continuity

Mac + iPhone — what you get for free

FeatureWhat it doesHow you use it
Universal ClipboardOne clipboard across Mac and iPhoneCopy on the phone, ⌘V on the Mac within ~2 minutes. Works for text, images and files
AirDropInstant file transfer, no cable, no cloudFinder → AirDrop, or right-click → Share. Fastest way to get a build, log or screenshot onto a device
iPhone MirroringThe whole phone on your Mac screen, driven by keyboard and mousemacOS 15+. Phone stays locked and nearby. Drag files both ways; phone notifications land in Mac Notification Center
Continuity CameraYour iPhone as a webcam — better than any built-in Mac cameraJust pick iPhone as the camera in Teams, Zoom or FaceTime. Desk View shows your desk from the same lens
Scan & sketchInsert a phone-camera scan straight into a Mac documentRight-click in Finder, Mail, Notes or Preview → Import from iPhone
Messages & callsSMS, iMessage and phone calls on the desktopTurn on iPhone → Settings → Messages → Text Message Forwarding. 2FA codes now arrive where you are typing
HandoffContinue the same document or page on the other deviceLeft edge of the Dock, or the Mac icon in the iPhone App Switcher
Instant HotspotTether without touching the phoneYour iPhone appears in the Mac Wi-Fi menu, with signal and battery
Passwords & passkeysiCloud Keychain shared across bothPasswords app on both; autofill and passkey approval via Touch ID
Apple Watch unlockUnlock the Mac and approve admin promptsTouch ID & Password → enable your Watch. Approves keychain and sudo dialogs too
Sidecar / Universal ControliPad as a second display, or one keyboard across bothDisplay menu in Control Center. Genuinely useful for a terminal on the side
AirPlay to MacMirror the iPhone screen onto the Mac displayiPhone Control Center → Screen Mirroring → your Mac. Good for demos and QA
Open slide 47 in the deck →

Slide 48 of 51 · Part 8 · Continuity

Turning it on — and the corporate caveat

All four, or nothing works

Same Apple Account on both devices, two-factor on, Wi-Fi and Bluetooth on (even when tethered by cable), and Handoff enabled: Mac → General → AirDrop & Handoff; iPhone → General → AirPlay & Continuity.

Nothing appears? Toggle it

Turn Bluetooth off and on, or sign out and back into iCloud on the Mac. Continuity discovery is genuinely flaky on first pairing and then rock solid afterwards.

MDM can switch these off

AirDrop, iPhone Mirroring, Universal Clipboard and iCloud sync are all controllable by Configuration Profile. On a managed Mac, check with IT before you build a workflow on them.

A shared clipboard crosses a boundary

Universal Clipboard and Handoff move work content onto a personal phone. Know your policy before you copy anything sensitive — this is a real compliance question, not a theoretical one.

Things you will actually do weekly

AirDrop a build to the phone · Safari Develop → iPhone to debug mobile web · QuickTime → New Movie Recording to screen-record the phone · iPhone Mirroring to test an app without picking it up.

One do-not-disturb, everywhere

Focus modes sync across Mac, iPhone, iPad and Watch. Set a Meeting or Deep Work Focus once and every screen you own goes quiet together.

Open slide 48 in the deck →

Slide 49 of 51 · Wrap-up

When it fights you — and what to do about it

What you seeWhyFix
Closing the window did not quit the appApps outlive their windows⌘Q quits. A dot under the Dock icon means still running
An app is frozenJust that app⌘⌥Esc → Force Quit, or ⌥-click-hold its Dock icon
A tool silently does nothing, no errorA privacy permissionPrivacy & Security → Accessibility / Input Monitoring / Screen Recording → relaunch the app
Scrolling goes the wrong wayNatural scrolling is onSystem Settings → Mouse → uncheck it. The trackpad has its own switch
The green button goes full screenMaximise is not a macOS ideafn+⌃F to Fill, or install Rectangle
There is no Cut for filesBy design⌘C then ⌘⌥V = move
Home and End do nothingDifferent bindings⌘← / ⌘→
⌘Tab skips one of my windowsIt switches apps, not windows⌘` cycles windows inside an app
My Spaces keep reordering‘Most recent use’ is onDesktop & Dock → uncheck Automatically rearrange Spaces
Finder or the Dock is misbehavingA UI process, not the OSkillall Finder / killall Dock — back in a second, nothing lost
“App is damaged and can’t be opened”The download quarantine flagxattr -cr /Applications/App.app — only for software you trust
“Developer cannot be verified”Gatekeeper doing its jobRight-click → Open, or Privacy & Security → Open Anyway
Peripherals died after an updateA system extension needs re-approvalPrivacy & Security → scroll to the bottom → Allow, then reboot
The whole machine is sluggishSomething is eating CPUActivity Monitor → CPU. The Energy tab names the battery killer
It will not boot—Hold the power button → Options = Recovery. Safe mode: hold power, pick the disk, hold ⇧
Open slide 49 in the deck →

Slide 50 of 51 · Wrap-up

The setup checklist — work down it, in any order

System Settings

□ Mouse → uncheck Natural scrolling □ Trackpad → enable App Exposé □ Accessibility → Pointer → three-finger drag □ Keyboard → Shortcuts → Mission Control → enable Switch to Desktop 1–9 □ Desktop & Dock → uncheck auto-rearrange Spaces □ Remap Caps Lock to Control or Escape □ Turn on FileVault, escrow the key □ Set up Time Machine on any external disk □ Create three Spaces, pin your comms app to Space 1 □ ⌥-click the Wi-Fi, volume and Displays icons once — see what they hide

Finder, printing & capture

□ Finder → View → Show Path Bar and Show Status Bar □ Finder Settings → Sidebar → add Macintosh HD and your Home □ Finder Settings → Advanced → Search the Current Folder □ Pick your view (List for most people) → Use as Defaults □ Try Quick Look — select a PDF and press Space □ Printers & Scanners → add your printer, set the default and paper size □ Options & Supplies → Options → enable the duplexer □ ⌘P → PDF → Save as PDF — once, in any app □ ⌘⇧5 → Options → change where screenshots save □ Install one app from a .dmg — drag, then eject

Mouse, apps & shell

□ Download Logi Options+ and LinearMouse from their websites □ Grant both Accessibility + Input Monitoring, then relaunch them □ Logi Options+ → wheel click = ⌃↑, thumb wheel = ⌃←/→ □ Back / Forward = ⌘[ / ⌘]; add one per-app profile □ LinearMouse → acceleration 0, smooth scrolling on □ Install Rectangle and AltTab for window snapping and a real Alt-Tab □ xcode-select --install, then install Homebrew □ Run one find and one grep -rn against a real folder □ Touch ID for sudo; SSH key into the Keychain □ Grant Teams Screen Recording; iPhone Text Message Forwarding

Open slide 50 in the deck →

Slide 51 of 51 · Thanks

Three keystrokes if you remember nothing else

Everything else in this deck is a lookup table. Keep the file — the shortcut, Finder, capture, Mission Control, mouse-mapping, CLI and equivalents tables are the ones people come back to. Press Esc for the overview grid.

Open slide 51 in the deck →