{"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":"96522646","content_html":"<p>TIL that you can’t have a git branch called <code>dma/test</code> and <code>dma/test/specifics</code> because git stores branch refs as local files, and <code>dma/test</code> would create a <em>file</em> called <code>test</code> where <code>dma/test/specifics</code> would need <code>test</code> to be a <em>directory</em></p>\n","summary":"","url":"https://danielma.online/2026/08/27/til-that-you-cant-have.html","date_published":"2026-08-28T00:01: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-08-28 00:01","date_timestamp":1787875293,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"96516404","content_html":"<p>TIL about the <a href=\"https://www.rfc-editor.org/rfc/rfc10008.html\">HTTP QUERY method</a>. It’s a new (RFC published June 2026) method that’s idempotent like <code>GET</code>, but the query is passed in the body rather than a query string. It’s a good fit for things like Opensearch (Elasticsearch) or GraphQL that sometimes have very large queries</p>\n","summary":"","url":"https://danielma.online/2026/08/27/til-about-the-http-query.html","date_published":"2026-08-27T21:52: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-08-27 21:52","date_timestamp":1787867520,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"96387655","content_html":"<p>TIL about <a href=\"https://github.com/mozzius/expo-privacy-sensitive\">expo-privacy-sensitive</a>, which taps into some internal behavior of iOS’s <code>UITextField</code> to replace content in a view during screenshots</p>\n","summary":"","url":"https://danielma.online/2026/08/25/til-about-expoprivacysensitive-which-taps.html","date_published":"2026-08-25T20:13: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-08-25 20:13","date_timestamp":1787688816,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95802826","content_html":"<p>TIL that when camping with a trailer (or a roof tent), people will mark the locations of their tires with chalk after leveling so they can return to the same spot later and have things arrive leveled</p>\n<p>This thanks to googling around during a camping trip</p>\n","summary":"","url":"https://danielma.online/2026/08/14/til-that-when-camping-with.html","date_published":"2026-08-15T05:35:43+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-08-15 05:35","date_timestamp":1786772143,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95663985","content_html":"<p>TIL that “<a href=\"https://en.wikipedia.org/wiki/Brownfield_land\">brownfield</a>” has a real world meaning, specifically of land previously developed and no longer in use</p>\n<p>I only knew it as a software term, but there it typically refers to software that is still being used and worked on</p>\n","summary":"","url":"https://danielma.online/2026/08/12/til-that-brownfield-has-a.html","date_published":"2026-08-12T20:58:25+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-08-12 20:58","date_timestamp":1786568305,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95664050","content_html":"<p>TIL that you can generally find studs in drywall using just a powerful magnet. I always assumed there was a bunch more specialized stuff you needed from a battery powered stud finder. But ultimately it makes sense that you can generally find the big wood screws</p>\n","summary":"","url":"https://danielma.online/2026/08/11/til-that-you-can-generally.html","date_published":"2026-08-11T21:00: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-08-11 21:00","date_timestamp":1786482000,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95505010","content_html":"<p>TIL that the phrase “fly by the seat of your pants” originated with pilots who would fly based on the vibrations in their seat during instrument failures</p>\n","summary":"","url":"https://danielma.online/2026/08/09/til-that-the-phrase-fly.html","date_published":"2026-08-10T06:26: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-08-10 06:26","date_timestamp":1786343160,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95505174","content_html":"<p>TIL that the <a href=\"https://www.reddit.com/r/todayilearned/comments/10e6op0/til_that_the_yoruba_people_have_the_highest/\">Yoruba people have the highest likelihood of producing twins in the world</a>.</p>\n<p>Thanks to Reddit and an episode of Blank Check that really went off the rails</p>\n","summary":"","url":"https://danielma.online/2026/08/08/til-that-the-yoruba-people.html","date_published":"2026-08-09T06:31: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-08-09 06:31","date_timestamp":1786257060,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95188936","content_html":"<p>TIL that Daylight Savings time was implemented in 1918 in the US (less than 100 years ago!)</p>\n<p>This fact brought to you by me needing to deal with <em>really old dates</em> in datepickers and having things come back with really odd offsets</p>\n","summary":"","url":"https://danielma.online/2026/08/04/til-that-daylight-savings-time.html","date_published":"2026-08-04T17:05: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-08-04 17:05","date_timestamp":1785863104,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95185950","content_html":"<p>TIL that accessing or writing to a React ref during render is consider a <a href=\"https://react.dev/reference/react/useRef#usage\">pitfall</a> and will result in that component being ineligible for React Compiler optimizations</p>\n","summary":"","url":"https://danielma.online/2026/08/03/til-that-accessing-or-writing.html","date_published":"2026-08-03T16:07: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-08-03 16:07","date_timestamp":1785773220,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95726114","content_html":"<p>TIL that most flavorings are made from ingredients wholly separate from their original flavor source. Apparently it has to do with the difference between the way we perceive taste with specific texture in things like fruits vs how we would perceive it as a <em>flavor</em> of another food.</p>\n<p>...</p>","summary":"","url":"https://danielma.online/2026/08/01/til-that-most-flavorings-are.html","date_published":"2026-08-01T21:29: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-08-01 21:29","date_timestamp":1785619740,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95726161","content_html":"<p>TIL what <a href=\"https://en.wikipedia.org/wiki/En_passant\">en passant</a> is in chess. I’ve been learning to play through Duolingo, which has been really fun.</p>\n<p>Though I remain curious how on earth people decided to <em>add</em> this rule</p>\n","summary":"","url":"https://danielma.online/2026/07/31/til-what-en-passant-is.html","date_published":"2026-07-31T21:30: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-07-31 21:30","date_timestamp":1785533400,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"94927938","content_html":"<p>TIL that react-navigation’s <code>useNavigate()</code> will basically always return <em>something</em>, even if that something isn’t a fully baked screen navigation context. If you want to <a href=\"https://reactnavigation.org/docs/navigation-context/#accessing-navigation-and-route\">make sure you only get a screen navigation context</a>, you have to <code>useContext(NavigationRouteContext)</code> or <code>useContext(NavigationContext)</code></p>\n","summary":"","url":"https://danielma.online/2026/07/29/til-that-reactnavigations-usenavigate-will.html","date_published":"2026-07-29T18: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-07-29 18:41","date_timestamp":1785350460,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"94815198","content_html":"<p>TIL that Chrome Dev tools has an option to view the <a href=\"https://developer.chrome.com/blog/full-accessibility-tree\">accessibility tree</a> instead of the DOM tree. This is going to help a lot as we try to work on some accessibility interactions for our web apps</p>\n","summary":"","url":"https://danielma.online/2026/07/28/til-that-chrome-dev-tools.html","date_published":"2026-07-28T21:26:14+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-07-28 21:26","date_timestamp":1785273974,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"94762522","content_html":"<p><a href=\"https://micro.blog/manton\">@manton</a> Interesting. I just started ramping up my unit test review on purpose, because I’m noticing a lot more unit tests being written around our company, and I commonly find them to be brittle and/or testing the wrong thing</p>\n","url":"https://micro.blog/danielma/94762522","date_published":"2026-07-28T00:39:39+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-07-28 00:39","date_timestamp":1785199179,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"94758860","content_html":"<p>TIL the difference between <code>as jest.Mock</code> (totally untyped) and <code>jest.mocked()</code>, which is an identity function at runtime, but keeps the original function signature so that it acts like a verifying double at compile time</p>\n","summary":"","url":"https://danielma.online/2026/07/27/til-the-difference-between-as.html","date_published":"2026-07-27T22:45: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-07-27 22:45","date_timestamp":1785192352,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"94722297","content_html":"<p>TIL that one of the members of Phoenix was in a band with the two members of Daft Punk before either of those groups were formed</p>\n","summary":"","url":"https://danielma.online/2026/07/26/til-that-one-of-the.html","date_published":"2026-07-27T06: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-07-27 06:10","date_timestamp":1785132600,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95005261","content_html":"<p>TIL about the third shot drop in pickleball. It explains a big part of why I’m so bad at pickleball.</p>\n<p>The third shot in any pickleball point is critical. The serve return has to bounce, so it’s typically a long shot. However, if your third shot has similar power/direction, any decent player...</p>","summary":"","url":"https://danielma.online/2026/07/26/til-about-the-third-shot.html","date_published":"2026-07-27T02: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-07-27 02:25","date_timestamp":1785119100,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95005293","content_html":"<p>TIL about the third shot drop in pickleball. It explains a big part of why I’m so bad at pickleball.</p>\n<p>The third shot in any pickleball point is critical. The serve return has to bounce, so it’s typically a long shot. However, if your third shot has similar power/direction, any decent player will smash it as...</p> <a href=\"https://danielma.online/2026/07/25/til-about-the-third-shot.html\">danielma.online</a>","summary":"","url":"https://danielma.online/2026/07/25/til-about-the-third-shot.html","date_published":"2026-07-26T02: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-07-26 02:25","date_timestamp":1785032700,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95005227","content_html":"<p>TIL how to use an orbital palm sander. I’m making a new top for my standing desk this weekend thanks to some project advice from ChatGPT and my sister-in-law.</p>\n<p>It’s important, when using the sander, to keep it even across the surface with gentle pressure. If you don’t, you might end up with...</p>","summary":"","url":"https://danielma.online/2026/07/24/til-how-to-use-an.html","date_published":"2026-07-25T02: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-07-25 02:22","date_timestamp":1784946120,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"94552850","content_html":"<p>TIL about <a href=\"https://help.swarmia.com/features/metrics/explore\">Swarmia Explore metrics</a>. I was trying to gather stats on some team stuff, and their AI tool directed me there.</p>\n<p>The most interesting thing about it to me isn’t necessarily the feature itself, but their data storage. It’s clearly marked as a research preview feature, and they let you manually edit...</p> <a href=\"https://danielma.online/2026/07/23/til-about-swarmia-explore-metrics.html\">danielma.online</a>","summary":"","url":"https://danielma.online/2026/07/23/til-about-swarmia-explore-metrics.html","date_published":"2026-07-24T00:26:53+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-07-24 00:26","date_timestamp":1784852813,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95005154","content_html":"<p>TIL that the Samsung S8’s (released 2017) maximum supported Android version is 9, which is EOL and stopped receiving even security updates from Google in 2022. The strange thing is that it <em>appears</em> that some people are still getting software updates from Samsung, and ultimately because it...</p>","summary":"","url":"https://danielma.online/2026/07/22/til-that-the-samsung-ss.html","date_published":"2026-07-23T02:18: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-07-23 02:18","date_timestamp":1784773080,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"94867958","content_html":"<p>TIL that the recommended way to sync props to state in React is to set the state directly in the render. <a href=\"https://react.dev/learn/you-might-not-need-an-effect\">You Might Not Need an Effect</a> is a great doc. In my exact case, I replaced something like this (which is a hooks violation)</p>\n<pre><code><span>useEffect(() =&gt; {\n</span><span>  setInternalValue(defaultValue)\n</span><span>}, [isVisible])\n</span></code></pre>\n<p>With something like</p>\n<pre><code><span>const previousVisibl...</span></code></pre>","summary":"","url":"https://danielma.online/2026/07/21/til-that-the-recommended-way.html","date_published":"2026-07-21T18: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-07-21 18:43","date_timestamp":1784659380,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"95004635","content_html":"<p>TIL that there’s no documented way to control the header background tint while using the default appearance on iOS 27. I’ve seen some apps <em>appear</em> to have a different color than just the bleed through, but no matter what I tried to do (even sending a clanker to look through private symbol...</p>","summary":"","url":"https://danielma.online/2026/07/20/til-that-theres-no-documented.html","date_published":"2026-07-21T01:59: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-07-21 01:59","date_timestamp":1784599140,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"94987839","content_html":"<p>TIL that Argentinian goalkeeper Emiliano Martinez had more saves in the World Cup final than the Spanish goalkeeper had in the entire tournament (11+ to 10).</p>\n<p>I found this whole situation to be a lesson in media/coverage bias. I seldom heard anything about Spain during the tournament, and t...</p>","summary":"","url":"https://danielma.online/2026/07/19/til-that-argentinian-goalkeeper-emiliano.html","date_published":"2026-07-20T06: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-07-20 06:43","date_timestamp":1784529780,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"94987722","content_html":"<p>TIL that there are very few distinguishing characteristics of bratwurst vs other kinds of sausage. It mostly just needs to be made from pork. Really, what I’m buying when I look for bratwurst is just… German style sausage.</p>\n","summary":"","url":"https://danielma.online/2026/07/18/til-that-there-are-very.html","date_published":"2026-07-19T06: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-07-19 06:40","date_timestamp":1784443200,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"91633727","content_html":"<p><a href=\"http://turnerfofurner.bsky.social\">@turnerfofurner.bsky.social</a> For me, I think it’s normally once a month. In times of notable stress it will jump to once a week-ish</p>\n","url":"https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mnjlb2bamc25","date_published":"2026-06-05T07:06:50+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-06-05 07:06","date_timestamp":1780643210,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"90860217","content_html":"<p><a href=\"http://taurean.bryant.land\">@taurean.bryant.land</a> it’s extremely arcade-y, and extremely fun. I’ve always enjoyed horizon as a chill-out controller racer. Forza/F1/etc are racing wheel games for me. Definitely worth a try on game pass</p>\n","url":"https://micro.blog/danielma/90860217","date_published":"2026-05-25T04:57:56+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-25 04:57","date_timestamp":1779685076,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"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}}]}