Sleep IoT Quest - Day 19 Progress Update
Day Summary
Busy day. Up since 4 a.m. — moved stuff between apartments, did groceries, full workday. By evening my brain was slow, but I still got my hour in (late, but earlier than yesterday): 30 minutes of active reading for 5 pages, and 30 minutes arguing with the AI about UTF encodings.
I know UTF-8 is an encoding based on Unicode (a big table mapping codes to characters). What I didn’t really know: the practical differences between UTF-8, UTF-16, and UTF-32. Today I learned:
- UTF-8 includes ASCII; UTF-16 doesn’t.
- Finding the “character at index n” is O(n) in UTF-8/UTF-16, and O(1) in UTF-32 (fast lookups, worse memory).
- Unicode has private-use ranges — free-for-all code points where meaning depends on a custom table; without that table, others can’t interpret them.
The time sink was endianness. Here’s the clean version in my words: a multi-byte letter is one big binary chunk. To store it, you cut that chunk into bytes. The left half of that binary chunk is the “bigger” part; the right half is the “smaller” part. Endianness simply says which half you put first in memory for those multi-byte letters — big half first (big-endian) or small half first (little-endian). Read it back with the same rule and you get the same letter. That’s it. No magic.
Net: small, real progress on Unicode/UTF despite being wiped. The AI is useful as a Socratic partner — I ask why/how/when until the picture holds — but I’m going to keep pushing for plain language over insider terms.
- Daily Quest: 60 minutes (late, but earlier than yesterday).
- Reading (60m, +5 pages): p.200 → p.205 — hit Collections and UTF encodings.
- Coding: none (only one-liners in the text).
Context
- Late start again; focus went into clearing up UTF basics with AI as a Socratic partner (whys/hows/whens).
Reading
- Reached Collections; vectors vs arrays made sense (fixed vs growable; stack vs heap trade-offs).
- Stopped to fill gaps on Unicode/UTF (UTF-8 vs UTF-16, endianness, significance/byte order).
Coding Practice
- None today (no standalone exercises beyond the book’s one-liners).
Reflection
- The AI back-and-forth ate time, but it anchored understanding.
- LLMs tend to nitpick terminology; pushing for plain concepts tied to what I already know works better for me.
Key Learning
- Unicode & UTF: UTF-8/16/32 are encodings over the Unicode code point space.
- Byte order: “Endianness” = which byte comes first in memory; significance increases leftward in binary (order matters).
- Indexing trade-offs: finding the character at index n is O(n) in UTF-8/UTF-16, but O(1) in UTF-32 (faster lookups, higher memory use).
- UTF-8 coverage: can represent any character that exists in Unicode.
Total Time Spent
- Reading: 60m
- Coding: 0m
- Daily total: 60m
PCT (Project Cumulative Time): 24h29m