{"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":"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":"88427257","content_html":"<p>TIL about <a href=\"https://swmansion.com/blog/the-future-of-video-in-react-native-moving-from-expo-av-to-expo-video-6f4f78e51196/\">expo-av and why it was deprecated</a>.</p>\n<p>We have an app that’s using av and needs to migrate to the new libraries. This blog post helped a lot with my understanding of <em>why</em> things got deprecated.</p>\n","summary":"","url":"https://danielma.online/2026/04/16/til-about-expoav-and-why.html","date_published":"2026-04-17T06:43:34+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-17 06:43","date_timestamp":1776408214,"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/3mjodany3z62t"]}},{"id":"88427004","content_html":"<p>TIL - I had a reintroduction to the <a href=\"https://en.wikipedia.org/wiki/Interface_segregation_principle\">Interface Segregation Principle</a> in object oriented programming</p>\n<p>I probably could have recited the meanings of every other letter of SOLID, but I think this particular principle has been lacking in my primarily Ruby focused career. Ruby doesn’t have interfaces as a language...</p> <a href=\"https://danielma.online/2026/04/15/til-i-had-a-reintroduction.html\">danielma.online</a>","summary":"","url":"https://danielma.online/2026/04/15/til-i-had-a-reintroduction.html","date_published":"2026-04-16T06:33: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-16 06:33","date_timestamp":1776321180,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88267994","content_html":"<p>TIL all about how <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent\">Websockets close</a>, and specifically that <a href=\"https://stackoverflow.com/questions/10965720/should-websocket-onclose-be-triggered-by-user-navigation-or-refresh\">Firefox sends a <code>CloseEvent</code></a> when the user navigates away, while Chrome just closes the connection.</p>\n<p>I was looking into it because we noticed we had Websockets that looked like they were trying to connect twice on every page load. Turned out it was the <em>la...</em></p> <a href=\"https://danielma.online/2026/04/14/til-all-about-how-websockets.html\">danielma.online</a>","summary":"","url":"https://danielma.online/2026/04/14/til-all-about-how-websockets.html","date_published":"2026-04-15T00:04:20+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-15 00:04","date_timestamp":1776211460,"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/3mjilxi5ywn2t"]}},{"id":"88270422","content_html":"<p>TIL about the <a href=\"https://www.npmjs.com/package/fontkit\">fontkit</a> NPM package. Extremely cool to be able to take characters from a font and turn them into PNGs, SVGs, whatever is useful.</p>\n<p><code>fontkit</code> is used by this <a href=\"https://github.com/jsumners/alfred-emoji\">Alfred workflow for picking emoji</a>, and it was fun to poke at the source.</p>\n","summary":"","url":"https://danielma.online/2026/04/13/til-about-the-fontkit-npm.html","date_published":"2026-04-14T00: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-04-14 00:31","date_timestamp":1776126660,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"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":"88148983","content_html":"<p>TIL about the complex and wonderful world of Audio Description from this <a href=\"https://www.hyperfixedpod.com/listen/hyperfixed/chris-s-watchlist\">episode of Hyperfixed</a></p>\n<p>It’s classic Goldman to be curious about a new thing, and mainline Hyperfixed to get overzealous about solving a Too Big Problem, but this episode goes above and beyond. It’s about copyright, artistic intent,...</p> <a href=\"https://danielma.online/2026/04/12/til-about-the-complex-and.html\">danielma.online</a>","summary":"","url":"https://danielma.online/2026/04/12/til-about-the-complex-and.html","date_published":"2026-04-13T05:09: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-13 05:09","date_timestamp":1776056940,"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/3mjeg4gsuue2r"]}},{"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":"88087106","content_html":"<p>TIL that the Artemis II crew had unprecedented visibility on the far side of the moon during their mission.</p>\n<p>I understood that it was the first trip to the moon in 50 years, but didn’t quite understand the significance of their specific route, and the photographs we would see.</p>\n","summary":"","url":"https://danielma.online/2026/04/11/til-that-the-artemis-ii.html","date_published":"2026-04-12T06:05: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-04-12 06:05","date_timestamp":1775973925,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88086858","content_html":"<p>Watched <em>Nausicaä of the Valley of the Wind</em> tonight. Wonderful movie.</p>\n<p>TIL that Miyazaki wrote it as a Manga series and then adapted it to film afterwards, and that it’s technically not a Studio Ghibli movie, as its success led to the founding of the studio</p>\n","summary":"","url":"https://danielma.online/2026/04/11/watched-nausica-of-the-valley.html","date_published":"2026-04-12T05:54: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-04-12 05:54","date_timestamp":1775973285,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:pudmva7rfw4chxzp33eilz2s/post/3mjbo2itlp72t"]}},{"id":"88061189","content_html":"<p>TIL about <a href=\"https://en.wikipedia.org/wiki/Wendy_Carlos\">Wendy Carlos</a>, a pioneer in synthesizer music, who helped Bob Moog develop the world famous Moog Synthesizer</p>\n<p>This from a cool episode of <a href=\"https://www.theverge.com/podcast/898697/vocoder-music-instrument-version-history\">Version History</a> all about the vocoder</p>\n","summary":"","url":"https://danielma.online/2026/04/11/til-about-wendy-carlos-a.html","date_published":"2026-04-11T18:24:32+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-11 18:24","date_timestamp":1775931872,"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/3mjahl5ksvk23"]}},{"id":"88087145","content_html":"<p>TIL that the Artemis II crew had unprecedented visibility on the far side of the moon during their mission.</p>\n<p>I understood that it was the first trip to the moon in 50 years, but didn’t quite understand the significance of their specific route, and the photographs we would see.</p>\n","summary":"","url":"https://danielma.online/2026/04/09/til-that-the-artemis-ii.html","date_published":"2026-04-10T06:05: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-10 06:05","date_timestamp":1775801100,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88061247","content_html":"<p>TIL about <a href=\"https://en.wikipedia.org/wiki/Wendy_Carlos\">Wendy Carlos</a>, a pioneer in synthesizer music, who helped Bob Moog develop the world famous Moog Synthesizer</p>\n<p>This from a cool episode of <a href=\"https://www.theverge.com/podcast/898697/vocoder-music-instrument-version-history\">Version History</a> all about the vocoder</p>\n","summary":"","url":"https://danielma.online/2026/04/09/til-about-wendy-carlos-a.html","date_published":"2026-04-09T18:24: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-09 18:24","date_timestamp":1775759040,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87890348","content_html":"<p>TIL about <a href=\"https://docs.expo.dev/custom-builds/get-started/\">Expo Custom Builds</a>, which are triggered by, but meaningfully different from, EAS workflows.</p>\n<p>Today I just needed them for a repack workflow, but I’m wondering if there’s more we could potentially do with it.</p>\n<p>I wish I could ask and understand what happened with using ${} vs ${{}} in each environment</p>\n","summary":"","url":"https://danielma.online/2026/04/08/til-about-expo-custom-builds.html","date_published":"2026-04-09T06:36:08+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-09 06:36","date_timestamp":1775716568,"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/3mj272n73c427"]}},{"id":"87821769","content_html":"<p>TIL that you can “move” Expo router stacks up into the root easily by re-arranging the file structure.</p>\n<p>In some ways this is obvious, but it wasn’t immediately obvious to us as we worked on the problem. We started by manually hiding our tab bar on some screens, but today realized we could take that entire <code>&lt;Sta...</code></p> <a href=\"https://danielma.online/2026/04/08/til-that-you-can-move.html\">danielma.online</a>","summary":"","url":"https://danielma.online/2026/04/08/til-that-you-can-move.html","date_published":"2026-04-08T07:02:27+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-08 07:02","date_timestamp":1775631747,"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/3mixpy64bin2j"]}},{"id":"88061185","content_html":"<p>TIL that you can “move” Expo router stacks up into the root easily by re-arranging the file structure.</p>\n<p>In some ways this is obvious, but it wasn’t immediately obvious to us as we worked on the problem. We started by manually hiding our tab bar on some screens, but today realized we could take that entire <code>&lt;Sta...</code></p> <a href=\"https://danielma.online/2026/04/07/til-that-you-can-move.html\">danielma.online</a>","summary":"","url":"https://danielma.online/2026/04/07/til-that-you-can-move.html","date_published":"2026-04-08T06:50: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-08 06:50","date_timestamp":1775631000,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87789544","content_html":"<p>TIL how to <a href=\"https://developer.apple.com/documentation/xcode/acquiring-crash-reports-and-diagnostic-logs#Locate-crash-reports-and-memory-logs-on-the-device\">gather crash reports from another iOS device</a> and <a href=\"https://developer.apple.com/documentation/xcode/adding-identifiable-symbol-names-to-a-crash-report#Symbolicate-the-crash-report-with-the-command-line\">resymbolicate them</a>.</p>\n<p>I also re-learned that running the Console app and streaming messages with a live device is your friend in a pinch.</p>\n<p>Fun launch day 😅</p>\n","summary":"","url":"https://danielma.online/2026/04/06/til-how-to-gather-crash.html","date_published":"2026-04-07T01:36: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-07 01:36","date_timestamp":1775525760,"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/3miwjoidvzz22"]}},{"id":"87657912","content_html":"<p>TIL about ceremonial drinking cacao when I stepped into <a href=\"https://www.mayamooncollective.com\">Maya Moon in SD</a> because I thought it was a coffee shop 😅</p>\n<p>I don’t know that I can say that I <em>enjoyed</em> it, but I did get the distinct feeling that <em>this is someone’s favorite drink in the world</em>. I think that counts for something</p>\n","summary":"","url":"https://danielma.online/2026/04/05/til-about-ceremonial-drinking-cacao.html","date_published":"2026-04-05T19:13:19+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-05 19:13","date_timestamp":1775416399,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87789442","content_html":"<p>TIL that cats have 18 claws, because they have 5 on each front paw + 4 on the back 2</p>\n<p>If I had known that, maybe I could have won our Easter round of <a href=\"https://www.target.com/p/i-should-have-known-that-trivia-game/-/A-90370326\">I Should Have Known That</a></p>\n","summary":"","url":"https://danielma.online/2026/04/05/til-that-cats-have-claws.html","date_published":"2026-04-05T19: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-04-05 19:00","date_timestamp":1775415600,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87657742","content_html":"<p>TIL that the MLB home plate <a href=\"https://defector.com/chartreuse-and-root-beer-with-kelsey-mckinney\">used to be made of cast iron</a>, and they amended the rules to make it foul territory because one particular guy made a habit of hitting the ball straight down for base hits</p>\n","summary":"","url":"https://danielma.online/2026/04/04/til-that-the-mlb-home.html","date_published":"2026-04-05T06: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-04-05 06:07","date_timestamp":1775369220,"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/3mirh3qipef2g"]}},{"id":"87657960","content_html":"<p>TIL about ceremonial drinking cacao when I stepped into <a href=\"https://www.mayamooncollective.com\">Maya Moon in SD</a> because I thought it was a coffee shop 😅</p>\n<p>I don’t know that I can say that I <em>enjoyed</em> it, but I did get the distinct feeling that <em>this is someone’s favorite drink in the world</em>. I think that counts for something</p>\n","summary":"","url":"https://danielma.online/2026/04/03/til-about-ceremonial-drinking-cacao.html","date_published":"2026-04-03T19: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-03 19:13","date_timestamp":1775243580,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"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":"87514545","content_html":"<p>TIL about the <a href=\"http://bougui505.github.io/2016/05/20/linux_redirection-_read_from_and_write_to_the_same_file._use_a_sponge/html\">sponge(1)</a> utility for reading and writing to the same file in a one-liner</p>\n","summary":"","url":"https://danielma.online/2026/04/02/til-about-the-sponge-utility.html","date_published":"2026-04-03T06:10:31+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:10","date_timestamp":1775196631,"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/3mil2qhaqxq2q"]}},{"id":"87514461","content_html":"<p>TIL that Rosalina was originally designed to be canonically related to Peach, but that story element was removed before the release of Super Mario Galaxy</p>\n<p>When it came up in the movie, it seemed a little <em>too</em> convenient, and I wondered why this had never been mentioned. That factoid rounds it all out</p>\n","summary":"","url":"https://danielma.online/2026/04/01/til-that-rosalina-was-originally.html","date_published":"2026-04-02T04: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-04-02 04:04","date_timestamp":1775102640,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87514533","content_html":"<p>TIL more than I wanted to know about inconsistencies between <a href=\"https://github.com/react-native-webview/react-native-webview\">react-native-webview</a>’s Android and iOS implementations. In particular, the one that bit us today was certain navigation state changes being called or not called on different platforms when using history.pushState</p>\n","summary":"","url":"https://danielma.online/2026/03/31/til-more-than-i-wanted.html","date_published":"2026-04-01T05:08: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-01 05:08","date_timestamp":1775020080,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87302991","content_html":"<p>TIL - I got to use React Native’s <a href=\"https://reactnative.dev/docs/backhandler\">BackHandler</a> API</p>\n<p>I’m not in the market for a switch to Android, but I enjoy how RN has pushed me to understand the different design decisions between that and iOS</p>\n","summary":"","url":"https://danielma.online/2026/03/30/til-i-got-to-use.html","date_published":"2026-03-31T06:19: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-03-31 06:19","date_timestamp":1774937992,"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/3midjupcfrf2d"]}},{"id":"87232785","content_html":"<p>TIL that there are woodpeckers in my neighborhood. I don’t know that I’ve ever seen one in the wild. I was absolutely enchanted by this little guy today</p>\n<img src=\"https://cdn.uploads.micro.blog/274729/2026/cleanshot-2026-03-29-at-22.49.432x.png\" width=\"600\" height=\"551\" alt=\"\" loading=\"lazy\">\n","summary":"","url":"https://danielma.online/2026/03/29/til-that-there-are-woodpeckers.html","date_published":"2026-03-30T05:50: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-30 05:50","date_timestamp":1774849841,"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/3miaxtwmx3e2z"]}},{"id":"87176655","content_html":"<p>TIL that a softball curveball is <a href=\"https://www.youtube.com/watch?v=ZxaIbe3OMLM\">equivalent to a baseball sweeper</a> based on their movement</p>\n","summary":"","url":"https://danielma.online/2026/03/28/til-that-a-softball-curveball.html","date_published":"2026-03-29T04:24: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-03-29 04:24","date_timestamp":1774758283,"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/3mi6cimndmq2g"]}},{"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}}]}