Photo by Davide Cantelli / Unsplash

Sleep IoT Quest - Day 19 Progress Update

Sep 3, 2025

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