{"version":"https://jsonfeed.org/version/1","title":"Micro.blog - Daniel Ma","home_page_url":"https://micro.blog","feed_url":"https://micro.blog/posts/danielma","_microblog":{"about":"https://micro.blog/about/api","id":"1848596","username":"danielma","bio":"Software developer, perpetual learner","pronouns":"","is_following":false,"is_you":false,"following_count":4,"discover_count":0},"author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://avatars.micro.blog/avatars/2026/00/1848596.jpg"},"items":[{"id":"89931074","content_html":"<p>TIL that Detroit style pizza was <a href=\"https://en.wikipedia.org/wiki/Detroit-style_pizza\">originally made in motor oil drip pans</a></p>\n<p>This thanks to a Mother’s Day lunch at <a href=\"https://gibronispizza.com/\">Gibroni’s</a> in San Clemente</p>\n","summary":"","url":"https://danielma.online/2026/05/10/til-that-detroit-style-pizza.html","date_published":"2026-05-10T22:51:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-05-10 22:51","date_timestamp":1778453460,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mllqbk3z3p2c"]}},{"id":"89931902","content_html":"<p>TIL how to use a slip stitch to start a crochet chain. I didn’t do it <em>well</em>, but it’s always fun to learn new techniques. I was working on a leaf on a peach stem</p>\n","summary":"","url":"https://danielma.online/2026/05/09/til-how-to-use-a.html","date_published":"2026-05-10T02:10:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-05-10 02:10","date_timestamp":1778379000,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"89794919","content_html":"<p>TIL that Android emulators support setting a custom DNS server via a <a href=\"https://developer.android.com/studio/run/emulator-networking-dns\">`-dns-server’</a> flag, but you can’t configure the port.</p>\n<p>That’s a problem because MacOS runs Bonjour on port 53 (the DNS port). So you can’t use a Mac to act as a custom DNS server for an Android emulator</p>\n","summary":"","url":"https://danielma.online/2026/05/07/til-that-android-emulators-support.html","date_published":"2026-05-08T06:42:59+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-05-08 06:42","date_timestamp":1778222579,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mld4uqhnn42h"]}},{"id":"89794627","content_html":"<p>TIL that on Mac OS, Android emulators are—by default—not hardware GPU accelerated, which can cause lock ups and long waits while interacting with them</p>\n<p>I assumed it was just a limitation of my laptop, but after getting a brand new one and having the same issues, I did some productive digging this afternoon</p>\n","summary":"","url":"https://danielma.online/2026/05/07/til-that-on-mac-os.html","date_published":"2026-05-08T06:30:33+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-05-08 06:30","date_timestamp":1778221833,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mld46n47ro2e"]}},{"id":"89768734","content_html":"<p>TIL that <a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot\"><code>Math.hypot</code></a> exists in the JS standard library.</p>\n<p>I don’t know anything about geometry, but a coworker opened a PR that used it to do some animation math, and it was cool to be able to ask an LLM to explain what that function was accomplishing in that context</p>\n","summary":"","url":"https://danielma.online/2026/05/06/til-that-mathhypot-exists-in.html","date_published":"2026-05-06T23:20:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-05-06 23:20","date_timestamp":1778109600,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mlbjebouyy2e"]}},{"id":"89794944","content_html":"<p>TIL that Android emulators support setting a custom DNS server via a <a href=\"https://developer.android.com/studio/run/emulator-networking-dns\">`-dns-server’</a> flag, but you can’t configure the port.</p>\n<p>That’s a problem because MacOS runs Bonjour on port 53 (the DNS port). So you can’t use a Mac to act as a custom DNS server for an Android emulator</p>\n","summary":"","url":"https://danielma.online/2026/05/05/til-that-android-emulators-support.html","date_published":"2026-05-06T06:42:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-05-06 06:42","date_timestamp":1778049720,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"89605126","content_html":"<p>TIL how to use the Expo <a href=\"https://docs.expo.dev/versions/latest/sdk/screen-orientation/\">ScreenOrientation</a> library. The setup was a little bit odd, because I didn’t immediately know I needed to <em>remove</em> the default orientation setting in app.json, but once that was done, using the APIs has been fairly straightforward, and my working demo is smooth</p>\n","summary":"","url":"https://danielma.online/2026/05/04/til-how-to-use-the.html","date_published":"2026-05-04T23:59:48+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-05-04 23:59","date_timestamp":1777939188,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3ml2v3pjxyv2e"]}},{"id":"89644602","content_html":"<p>TIL that outdoor sporting events in Florida <em>must</em> stop at the sound of thunder, no matter how big or expensive.</p>\n<p>This thanks to the <a href=\"https://www.espn.com/f1/story/_/id/48647468/miami-grand-prix-formula-1-schedule-doubt-amid-thunderstorm-threat\">F1 race that got moved up a couple hours</a> to run fully before the rain started</p>\n","summary":"","url":"https://danielma.online/2026/05/03/til-that-outdoor-sporting-events.html","date_published":"2026-05-03T19:04:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-05-03 19:04","date_timestamp":1777835040,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"89608093","content_html":"<p>TIL about the <a href=\"https://oceansidemusicseries.com/\">Levitt Bloc Music series</a> which has live performances right around the corner from my house</p>\n<p>I love Oceanside</p>\n","summary":"","url":"https://danielma.online/2026/05/02/til-about-the-levitt-bloc.html","date_published":"2026-05-03T01:04:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-05-03 01:04","date_timestamp":1777770240,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"89516339","content_html":"<p>TIL that my guess about how much I could bench press was way off.</p>\n<p>I’ve never lifted before, and just started this week. I could barely lift 2/3s my body weight and I’m very sore</p>\n<p>It’ll be an interesting journey 😅</p>\n","summary":"","url":"https://danielma.online/2026/05/01/til-that-my-guess-about.html","date_published":"2026-05-01T21:12:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-05-01 21:12","date_timestamp":1777669920,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"89349785","content_html":"<p>TIL that Expo EAS Workflows now <a href=\"https://docs.expo.dev/eas/workflows/syntax/#onapp_store_connect\">support catching App Store connect webhooks</a></p>\n","summary":"","url":"https://danielma.online/2026/04/30/til-that-expo-eas-workflows.html","date_published":"2026-04-30T22:54:23+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-30 22:54","date_timestamp":1777589663,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mkqpgcymrr2p"]}},{"id":"89418420","content_html":"<p>TIL that my favorite childhood dark ride, <a href=\"https://darkridedatabase.com/rides/kingdom-of-the-dinosaurs/\"><em>Kingdom of the Dinosaurs</em></a> at Knott’s Berry Farm, closed when I was only 10 years old</p>\n<p>It feels like I went on that ride 100 times beforehand, but I guess it was just a flash of my childhood. And watching the tape back, maybe what I really liked was just that it dumped...</p> <a href=\"https://danielma.online/2026/04/29/til-that-my-favorite-childhood.html\">danielma.online</a>","summary":"","url":"https://danielma.online/2026/04/29/til-that-my-favorite-childhood.html","date_published":"2026-04-29T22:48:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-29 22:48","date_timestamp":1777502880,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"89177038","content_html":"<p>TIL that the conventional commit spec includes a <code>!</code> modifier <a href=\"https://www.conventionalcommits.org/en/v1.0.0/#commit-message-with--to-draw-attention-to-breaking-change\">for breaking changes</a></p>\n","summary":"","url":"https://danielma.online/2026/04/28/til-that-the-conventional-commit.html","date_published":"2026-04-28T15:36:57+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-28 15:36","date_timestamp":1777390617,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mkkw2cmw4r2e"]}},{"id":"89149219","content_html":"<p>TIL that <code>apple-app-site-association</code> info takes somewhere between 3-7 seconds to load on initial app install, and if you try to trigger an action that requires it immediately on launch (like <code>ASWebAuthenticationSession</code>), you may get what looks like a launch crasher.</p>\n<p>Artifacts from the day are <a href=\"https://github.com/expo/expo/pull/45152\">this expo PR</a>, and...</p> <a href=\"https://danielma.online/2026/04/27/til-that-appleappsiteassociation-info-takes.html\">danielma.online</a>","summary":"","url":"https://danielma.online/2026/04/27/til-that-appleappsiteassociation-info-takes.html","date_published":"2026-04-28T05:47:16+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-28 05:47","date_timestamp":1777355236,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mkjv72krpv2k"]}},{"id":"89149121","content_html":"<p>TIL that a weight bar typically weighs 45 lbs. I’m sure this is largely common knowledge, but I’m <em>just</em> getting into the idea of lifting, and it was interesting to pay attention and play around with the idea today</p>\n","summary":"","url":"https://danielma.online/2026/04/26/til-that-a-weight-bar.html","date_published":"2026-04-27T01:43:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-27 01:43","date_timestamp":1777254180,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"89149069","content_html":"<p>TIL that D3 college baseball teams use aluminum composite bats, and throw around 85 mph fastballs</p>\n<p>This, thanks to a cousin day where we watched a college game. It was so fun to compare the scale and speed of the game to spring little league</p>\n","summary":"","url":"https://danielma.online/2026/04/25/til-that-d-college-baseball.html","date_published":"2026-04-26T03:41:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-26 03:41","date_timestamp":1777174860,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88970563","content_html":"<p>TIL that whale carcasses <a href=\"https://en.wikipedia.org/wiki/Exploding_whale\">may explode</a> after the body is overwhelmed by continually growing bacteria after death.</p>\n<p>Shout out to the everlasting joy of asking “what did you learn at school this week?”</p>\n","summary":"","url":"https://danielma.online/2026/04/24/til-that-whale-carcasses-may.html","date_published":"2026-04-25T04:08:52+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-25 04:08","date_timestamp":1777090132,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mkc674wwsk2r"]}},{"id":"88970648","content_html":"<p>TIL that there are a <a href=\"https://github.com/aksonov/react-native-tableview\">number</a> of <a href=\"https://github.com/dominicstop/react-native-ios-list-view\">attempts</a> to implement a <code>UITableView</code> bridge for React Native.</p>\n<p>It doesn’t seem like anyone’s been able to crack a generalized abstraction over the API. But personally, I’m wondering if we couldn’t write a minimal version of a bridge that could be used for a specific screen in one of our apps.</p>\n","summary":"","url":"https://danielma.online/2026/04/23/til-that-there-are-a.html","date_published":"2026-04-23T23:13:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-23 23:13","date_timestamp":1776985980,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88818947","content_html":"<p>TIL about about <a href=\"https://github.com/jj-vcs/jj\">jj (jujutsu)</a> for version control.</p>\n<p>I’ve heard about it here and there, but I got a much better demo from <a href=\"http://sheck.bsky.social\">@sheck.bsky.social</a> and I’m excited to try it out soon</p>\n","summary":"","url":"https://danielma.online/2026/04/22/til-about-about-jj-jujutsu.html","date_published":"2026-04-23T00:26:36+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-23 00:26","date_timestamp":1776903996,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mk4qttdli72n"]}},{"id":"88818907","content_html":"<p>TIL what the heck RAG (retrieval augmented generation) actually means. Thanks to a great talk by <a href=\"http://geolessel.bsky.social\">@geolessel.bsky.social</a>, where he helped me make sense of the steps involved, and even a beginner level understanding of vector databases.</p>\n<p>Until today, I probably could have given a hand-wavy explanation about citations and added context, but now I feel like I have the proper rudiments to think and reason about this realm of features</p>\n","summary":"","url":"https://danielma.online/2026/04/21/til-what-the-heck-rag.html","date_published":"2026-04-22T00:25:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-22 00:25","date_timestamp":1776817500,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88818751","content_html":"<p>TIL — I think I got an explanation of the <a href=\"https://ghuntley.com/loop/\">Ralph Loop</a> that I actually understood from a presentation by a coworker.</p>\n<p>The kicker for me was running claude in non-interactive mode. It either completes the task, or it doesn’t, and it can take another run if it doesn’t, and the <code>while</code> nature allows it to continue ad infinitum.</p>\n<p>I don’t know why that part hadn’t quite clicked for me before, but I feel like I can think more clearly abo...</p>","summary":"","url":"https://danielma.online/2026/04/20/til-i-think-i-got.html","date_published":"2026-04-21T00:22:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-21 00:22","date_timestamp":1776730920,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88619181","content_html":"<p>TIL that Budapest is a compound word: a combination of <a href=\"https://en.wikipedia.org/wiki/Buda\">Buda</a>, west of the Danube, and <a href=\"https://en.wikipedia.org/wiki/Pest,_Hungary\">Pest</a> to the east.</p>\n<p>The two cities were administratively unified in 1873.</p>\n<p>I learned about it because my cousin recently ran a 10k there and I had a chance over the weekend to hear about her experience</p>\n","summary":"","url":"https://danielma.online/2026/04/19/til-that-budapest-is-a.html","date_published":"2026-04-20T02:40:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-20 02:40","date_timestamp":1776652800,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mjvyqphwuf2c"]}},{"id":"88673188","content_html":"<p>TIL — I had <em>work reasons</em> to do a lot of doodling on my iPad this weekend for a Keynote presentation.</p>\n<p>I learned that:</p>\n<ul>\n<li>Drawing directly in Keynote is the best way to animate your drawings as part of the presentation, but layering is so difficult it’s basically useless</li>\n<li>Adobe Fresco exists but it can be hard to...</li>\n</ul> <a href=\"https://danielma.online/2026/04/19/til-i-had-work-reasons.html\">danielma.online</a>","summary":"","url":"https://danielma.online/2026/04/19/til-i-had-work-reasons.html","date_published":"2026-04-20T02:34:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-20 02:34","date_timestamp":1776652440,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88619439","content_html":"<p>TIL that Budapest is a compound word: a combination of <a href=\"https://en.wikipedia.org/wiki/Buda\">Buda</a>, west of the Danube, and <a href=\"https://en.wikipedia.org/wiki/Pest,_Hungary\">Pest</a> to the east.</p>\n<p>The two cities were administratively unified in 1873.</p>\n<p>I learned about it because my cousin recently ran a 10k there and I had a chance over the weekend to hear about her experience</p>\n","summary":"","url":"https://danielma.online/2026/04/18/til-that-budapest-is-a.html","date_published":"2026-04-19T02:40:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-19 02:40","date_timestamp":1776566400,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88500042","content_html":"<p>TIL the word “<a href=\"https://www.alphadictionary.com/goodword/word/retroject\">retroject</a>”. It’s uncommon (the iOS keyboard autocorrects to retrospect), but refers to taking a current idea and layering it on top of the past as if it was present then.</p>\n<p>In simpler terms: projecting, backwards.</p>\n<p>I always love a new word</p>\n","summary":"","url":"https://danielma.online/2026/04/17/til-the-word-retroject-its.html","date_published":"2026-04-18T06:57:13+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-18 06:57","date_timestamp":1776495433,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mjqugopcqi2d"]}},{"id":"88190002","content_html":"<p><a href=\"http://danielma.online\">@danielma.online</a> I really feel like it means something that we—as a civilization—cannot stop admiring and celebrating stories with leaders who champion non-violence and self-sacrifice</p>\n","url":"https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mjfhoffdfc2d","date_published":"2026-04-13T18:11:17+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-13 18:11","date_timestamp":1776103877,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"88148714","content_html":"<p><a href=\"http://socio-steve.bsky.social\">@socio-steve.bsky.social</a> AND they’re threatening a blockade????</p>\n","url":"https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mjcryrxwqc25","date_published":"2026-04-12T16:38:04+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-12 16:38","date_timestamp":1776011884,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87514589","content_html":"<p><a href=\"http://taurean.bryant.land\">@taurean.bryant.land</a> I think it’s all up to taste. Even when you have a top of the line grinder, it’s up to a good barista to do the final calibration. Follow your heart!</p>\n","url":"https://micro.blog/danielma/87514589","date_published":"2026-04-03T06:11:58+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-04-03 06:11","date_timestamp":1775196718,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"86172619","content_html":"<p><a href=\"http://turnerfofurner.bsky.social\">@turnerfofurner.bsky.social</a> Not my pet! But I’ve been spending a lot of time with this good girl lately</p>\n","url":"https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mgxz5cwyrc2j","date_published":"2026-03-13T22:56:12+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-03-13 22:56","date_timestamp":1773442572,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"85650913","content_html":"<p><a href=\"http://danielma.online\">@danielma.online</a> We’re working on Really Good Webviews. The web host is a React SPA. The first killer feature with teleport will be putting configuration modals into a native form sheet.</p>\n<p>I think it’s gonna be a meaningful improvement in UX. Same web UI but it will feel more native</p>\n","url":"https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mgfsu3qib22g","date_published":"2026-03-06T17:15:45+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-03-06 17:15","date_timestamp":1772817345,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"85647173","content_html":"<p><a href=\"https://micro.blog/manton\">@manton</a> very cool! Thank you for keeping this feature alive</p>\n","url":"https://micro.blog/danielma/85647173","date_published":"2026-03-06T16:45:41+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-03-06 16:45","date_timestamp":1772815541,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"85392745","content_html":"<p><a href=\"http://taurean.bryant.land\">@taurean.bryant.land</a> I haven’t heard this take before. Please, say more!</p>\n","url":"https://micro.blog/danielma/85392745","date_published":"2026-03-03T07:14:13+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-03-03 07:14","date_timestamp":1772522053,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"85392005","content_html":"<p><a href=\"http://turnerfofurner.bsky.social\">@turnerfofurner.bsky.social</a> This is how I feel about all social media! Happier and stupider!</p>\n<p>Trying to “follow the news” also doesn’t solve it, because I don’t feel truly informed by The News. I’m looking for takes! That’s what helps me orient to both knowing what is happening and how I feel about it</p>\n","url":"https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mg56t4xcck2z","date_published":"2026-03-03T06:56:00+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-03-03 06:56","date_timestamp":1772520960,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"84219206","content_html":"<p><a href=\"https://micro.blog/jatowler\">@jatowler</a> NBA paint is a legend. Always has been, always will be. Every time I see anything from that account my day is 5% better</p>\n","url":"https://micro.blog/danielma/84219206","date_published":"2026-02-13T20:49:42+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-02-13 20:49","date_timestamp":1771015782,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"82304439","content_html":"<p><a href=\"https://micro.blog/jatowler\">@jatowler</a> I’m glad to see another recommendation for this one!</p>\n<p>I love the plot concept, and it’s on my list to read soon</p>\n","url":"https://micro.blog/danielma/82304439","date_published":"2026-01-18T06:15:55+00:00","author":{"name":"Daniel Ma","url":"https://danielma.online/","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2026%2F00%2F1848596.jpg","_microblog":{"username":"danielma"}},"_microblog":{"date_relative":"2026-01-18 06:15","date_timestamp":1768716955,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}}]}