<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fun.git/index.html, branch master</title>
<subtitle>Source code of personal website</subtitle>
<id>https://git.tylerhoang.xyz/fun.git/atom?h=master</id>
<link rel='self' href='https://git.tylerhoang.xyz/fun.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/fun.git/'/>
<updated>2026-06-03T22:51:36Z</updated>
<entry>
<title>add Keep Android Open system notice + tray countdown</title>
<updated>2026-06-03T22:51:36Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-06-03T22:51:36Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/fun.git/commit/?id=d70ce65502caf70daaa9eb6b85c698554786734e'/>
<id>urn:sha1:d70ce65502caf70daaa9eb6b85c698554786734e</id>
<content type='text'>
Auto-opens on first visit (dismissable via localStorage); pulsing
taskbar badge with live days-remaining stays as the persistent
re-entry point. Counts down to Sept 1 2026 UTC.

Co-Authored-By: Claude Opus 4.7 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>updates to neighbors</title>
<updated>2026-05-30T07:05:42Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-30T07:05:42Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/fun.git/commit/?id=2b9db208ef2c1f4e3185d2174f5beebceeb94972'/>
<id>urn:sha1:2b9db208ef2c1f4e3185d2174f5beebceeb94972</id>
<content type='text'>
</content>
</entry>
<entry>
<title>theme: make chrome the default and move it left in the selector</title>
<updated>2026-05-29T04:13:35Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-29T04:13:35Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/fun.git/commit/?id=41c352e939a3389b9c7a18065c1c25c005e98bfe'/>
<id>urn:sha1:41c352e939a3389b9c7a18065c1c25c005e98bfe</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>updated</title>
<updated>2026-05-29T04:10:00Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-29T04:10:00Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/fun.git/commit/?id=a2be1514d46f2992820a2d3b5e708f2a0baa6264'/>
<id>urn:sha1:a2be1514d46f2992820a2d3b5e708f2a0baa6264</id>
<content type='text'>
</content>
</entry>
<entry>
<title>neighbors: open contact window on "drop a line" instead of mailto</title>
<updated>2026-05-29T04:07:30Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-29T04:07:30Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/fun.git/commit/?id=8691989d150eeb092b7ea58290658a024a90fcd4'/>
<id>urn:sha1:8691989d150eeb092b7ea58290658a024a90fcd4</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor: extract inline css/js from index.html</title>
<updated>2026-05-29T01:25:41Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-29T01:25:41Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/fun.git/commit/?id=34f0486f091ded7112442a00f8c5c5ecae342265'/>
<id>urn:sha1:34f0486f091ded7112442a00f8c5c5ecae342265</id>
<content type='text'>
index.html shrank from 1650 to 349 lines. Inline &lt;style&gt;
moved to index.css, ARTICLES data to articles.js, the rest of
the inline script to index.js. Also:

- drop unused bindMusicToggle from aero.js
- collapse duplicate click+dblclick icon handlers
- dedup music-toggle gradient via .mt-btn.on class
- replace inline styles in films/podcast/now-playing renderers
  with semantic classes (.film-when, .pod-ep, .np-row, etc.)
- precompute article readMin and plainTitle once instead of on
  every render

Co-Authored-By: Claude Opus 4.7 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>small edits</title>
<updated>2026-05-29T01:13:28Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-29T01:13:28Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/fun.git/commit/?id=40992af162a7b2564c869da2f4fd3745736346b7'/>
<id>urn:sha1:40992af162a7b2564c869da2f4fd3745736346b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>aero: fix 1:1 drag at non-1.0 zoom, scale window text on resize</title>
<updated>2026-05-29T01:13:06Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-29T01:13:06Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/fun.git/commit/?id=343b9992e296c2b6ce14a0dabafac31b45620e30'/>
<id>urn:sha1:343b9992e296c2b6ce14a0dabafac31b45620e30</id>
<content type='text'>
Drag and resize handlers were reading pointer deltas in visual pixels
but writing to style.left/width which live in the (zoomed) layout
coord space — so dragging at zoom 0.7 lagged 30% behind the cursor.
Now divide deltas by window.__uiScale (set by the desktop-fit script).

Also: when a window is resized, scale its title bar and body via
`zoom` so the text inside grows/shrinks with the window. Baseline is
captured on first resize.
</content>
</entry>
<entry>
<title>aero: autoplay music on startup with first-click fallback</title>
<updated>2026-05-29T01:04:08Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-29T01:04:08Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/fun.git/commit/?id=bbe912778407ee3434b68c959a72b834e1787ba9'/>
<id>urn:sha1:bbe912778407ee3434b68c959a72b834e1787ba9</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>aero: scale desktop to fit smaller monitors</title>
<updated>2026-05-29T00:58:40Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-29T00:58:40Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/fun.git/commit/?id=52e1c3a67a65baea5c98931baf53663a35b001ab'/>
<id>urn:sha1:52e1c3a67a65baea5c98931baf53663a35b001ab</id>
<content type='text'>
Use a JS-driven `zoom` on &lt;html&gt; computed from viewport vs a 1440x900
baseline (clamped at 0.55) so absolutely-positioned windows, icons,
and the taskbar stop overlapping on lower-res displays.
</content>
</entry>
</feed>
