mikexxz

Posts

  1. An Introduction to OpenMP

    Although POSIX provides APIs such as pthread, and individual platforms offer their own multithreading APIs, they all tend to be fairly complex. OpenMP, by contrast, offers a cross-platform multithreading interface with unified…

    • Parallel Computing
  2. Why Build a Blog from Scratch

    There are plenty of off-the-shelf blogging systems. With Hugo, Astro, or even a Notion page, you can go live in ten minutes. But the goal of this blog isn't "to have a blog." It's to walk through the entire Web stack, end to end. If a…

    • Meta
    • Full stack
  3. Translating Apple's HIG into Web Design Tokens

    Apple's Human Interface Guidelines were written for native apps, but many of their principles (clear hierarchy, content first, respect for the user's system settings) hold just as well on the Web. The hard part is translating concepts like…

    • Design
    • Frontend Development
  4. pnpm, Bun, or npm: Choosing a Package Manager for a Monorepo

    This project is a monorepo: the frontend, the API, and a shared schema package live together. The original plan was a pnpm workspace, but I ended up switching to Bun. Bun is three things at once: a package manager, a script runner, and a…

    • Full stack
    • Frontend Development
  5. A Few Details of Typesetting Chinese Web Pages, v2

    When mixing Chinese and English, a few details deserve separate attention. Latin letters have ascenders and descenders, which gives them some built-in visual breathing room; Chinese characters are square, and each one fills its entire cell.…

    • Design
    • Typography
    • Texture
  6. Why Markdown Rendering Must Be Sanitized

    Markdown allows embedded HTML, which means "rendering user-submitted Markdown" is essentially the same as "rendering user-submitted HTML." If the following Markdown is converted to HTML as-is and inserted into a page, it will execute a…

    • Security
    • Full stack