{"version":"https://jsonfeed.org/version/1","title":"Micro.blog - David Yates","home_page_url":"https://micro.blog","feed_url":"https://micro.blog/posts/dy","_microblog":{"about":"https://micro.blog/about/api","id":"28203","username":"dy","bio":"Some guy","pronouns":"","is_following":false,"is_you":false,"following_count":13,"discover_count":0},"author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://micro.blog/dy/avatar.jpg"},"items":[{"id":"87748226","content_html":"<p>Dozen: <a href=\"https://davidyat.es/2026/04/07/twelve-years/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2026/04/07/twelve-years/","date_published":"2026-04-07T03:31:12+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2026-04-07 03:31","date_timestamp":1775532672,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"87059661","content_html":"<p>The universal translator: <a href=\"https://davidyat.es/2026/03/27/universal-translator/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2026/03/27/universal-translator/","date_published":"2026-03-27T06:38:20+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2026-03-27 06:38","date_timestamp":1774593500,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"83035123","content_html":"<p>Niri's infinite canvas: <a href=\"https://davidyat.es/2026/01/28/niri/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2026/01/28/niri/","date_published":"2026-01-28T05:01:06+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2026-01-28 05:01","date_timestamp":1769576466,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"81332943","content_html":"<p>Dash it all: <a href=\"https://davidyat.es/2026/01/04/dash-it-all/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2026/01/04/dash-it-all/","date_published":"2026-01-04T12:39:24+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2026-01-04 12:39","date_timestamp":1767530364,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"74472544","content_html":"<p>Signifier flotation devices: <a href=\"https://davidyat.es/2025/09/27/signifier-flotation-devices/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2025/09/27/signifier-flotation-devices/","date_published":"2025-09-27T11:39:24+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2025-09-27 11:39","date_timestamp":1758973164,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"71644095","content_html":"<p>Exploiting Firebase Apps with Baserunner: Bibliography: <a href=\"https://davidyat.es/2025/08/20/exploiting-firebase/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2025/08/20/exploiting-firebase/","date_published":"2025-08-20T05:27:42+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2025-08-20 05:27","date_timestamp":1755667662,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"67746118","content_html":"<p>Review: Red Rain: <a href=\"https://davidyat.es/2025/06/27/review-red-rain/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2025/06/27/review-red-rain/","date_published":"2025-06-27T14:07:24+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2025-06-27 14:07","date_timestamp":1751033244,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"61650364","content_html":"<p>Up to eleven: <a href=\"https://davidyat.es/2025/04/07/eleven-years/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2025/04/07/eleven-years/","date_published":"2025-04-07T05:11:00+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2025-04-07 05:11","date_timestamp":1744002660,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"61075141","content_html":"<p>Adventures in pixel space: <a href=\"https://davidyat.es/2025/03/30/pixel-space/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2025/03/30/pixel-space/","date_published":"2025-03-30T19:29:39+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2025-03-30 19:29","date_timestamp":1743362979,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"54760838","content_html":"<p>Advent of Code 2024: Days 11–15: <a href=\"https://davidyat.es/2025/01/11/aoc-2024-part3/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2025/01/11/aoc-2024-part3/","date_published":"2025-01-11T04:13:44+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2025-01-11 04:13","date_timestamp":1736568824,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"53061857","content_html":"<p>Advent of Code 2024: Days 6–10: <a href=\"https://davidyat.es/2024/12/23/aoc-2024-part2/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2024/12/23/aoc-2024-part2/","date_published":"2024-12-23T13:43:44+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2024-12-23 13:43","date_timestamp":1734961424,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"52385697","content_html":"<p>Advent of Code 2024: Days 1–5: <a href=\"https://davidyat.es/2024/12/16/aoc-2024-part1/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2024/12/16/aoc-2024-part1/","date_published":"2024-12-16T17:43:44+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2024-12-16 17:43","date_timestamp":1734371024,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"47823716","content_html":"<p>Image upload with render hooks: <a href=\"https://davidyat.es/2024/10/19/render-hook-image-upload/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2024/10/19/render-hook-image-upload/","date_published":"2024-10-19T04:41:36+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2024-10-19 04:41","date_timestamp":1729312896,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"47790513","content_html":"<p>Syntax highlighting with render hooks: <a href=\"https://davidyat.es/2024/10/18/render-hook-syntax-highlighting/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2024/10/18/render-hook-syntax-highlighting/","date_published":"2024-10-18T16:41:36+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2024-10-18 16:41","date_timestamp":1729269696,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"46940743","content_html":"<p>Deprecating shortcodes: <a href=\"https://davidyat.es/2024/10/06/deprecating-shortcodes/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2024/10/06/deprecating-shortcodes/","date_published":"2024-10-06T13:39:57+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2024-10-06 13:39","date_timestamp":1728221997,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"45974988","content_html":"<p>Review: Bezos: <a href=\"https://davidyat.es/2024/09/21/review-bezos/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2024/09/21/review-bezos/","date_published":"2024-09-21T18:20:26+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2024-09-21 18:20","date_timestamp":1726942826,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"35047752","content_html":"<p>Year X: <a href=\"https://davidyat.es/2024/04/07/ten-years/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2024/04/07/ten-years/","date_published":"2024-04-07T19:34:38+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2024-04-07 19:34","date_timestamp":1712518478,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"34469393","content_html":"<p>The many (bad) interfaces of Substack: <a href=\"https://davidyat.es/2024/03/29/substack-ux/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2024/03/29/substack-ux/","date_published":"2024-03-29T14:58:35+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2024-03-29 14:58","date_timestamp":1711724315,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"31163384","content_html":"<p>Print stylesheets: <a href=\"https://davidyat.es/2024/02/17/print-stylesheets/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2024/02/17/print-stylesheets/","date_published":"2024-02-17T10:59:57+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2024-02-17 10:59","date_timestamp":1708167597,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"25163353","content_html":"<p>Adventures in latent space: <a href=\"https://davidyat.es/2023/10/19/latent-space/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2023/10/19/latent-space/","date_published":"2023-10-19T09:27:05+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2023-10-19 09:27","date_timestamp":1697707625,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"21988644","content_html":"<p>Review: The Excavation of Hob's Barrow: <a href=\"https://davidyat.es/2023/08/11/review-hobs-barrow/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2023/08/11/review-hobs-barrow/","date_published":"2023-08-11T12:00:51+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2023-08-11 12:00","date_timestamp":1691755251,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"21803092","content_html":"<p>Review: The Lost Room: <a href=\"https://davidyat.es/2023/08/06/review-the-lost-room/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2023/08/06/review-the-lost-room/","date_published":"2023-08-06T16:53:50+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2023-08-06 16:53","date_timestamp":1691340830,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"21365175","content_html":"<p>The Last Battle: <a href=\"https://davidyat.es/2023/07/26/narnia/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2023/07/26/narnia/","date_published":"2023-07-26T09:41:03+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2023-07-26 09:41","date_timestamp":1690364463,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"19266222","content_html":"<p>Postmortem: Ludum Dare 53: <a href=\"https://davidyat.es/2023/05/20/postmortem-ludum-dare-53/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2023/05/20/postmortem-ludum-dare-53/","date_published":"2023-05-20T16:11:22+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2023-05-20 16:11","date_timestamp":1684599082,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"19150723","content_html":"<p>Walkthrough: Causality Couriers: <a href=\"https://davidyat.es/2023/05/16/walkthrough-causality-couriers/\">davidyat.es</a></p>","summary":"","url":"https://davidyat.es/2023/05/16/walkthrough-causality-couriers/","date_published":"2023-05-16T04:05:17+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2023-05-16 04:05","date_timestamp":1684209917,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"4251062","content_html":"<p><a href=\"https://micro.blog/manton\">@manton</a> That's awesome! I stand corrected!</p>\n","url":"https://micro.blog/dy/4251062","date_published":"2019-06-27T19:56:56+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2019-06-27 19:56","date_timestamp":1561665416,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"4246718","content_html":"<p><a href=\"https://micro.blog/manton\">@manton</a> I think the other main thing missing from micro.blog is the ability to follow/microsub to users who don't have micro.blog accounts. But it's certainly the closest thing.</p>\n","url":"https://micro.blog/dy/4246718","date_published":"2019-06-27T15:13:23+00:00","author":{"name":"David Yates","url":"https://davidyat.es","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fmicro.blog%2Fdy%2Favatar.jpg","_microblog":{"username":"dy"}},"_microblog":{"date_relative":"2019-06-27 15:13","date_timestamp":1561648403,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}}]}