{"version":"https://jsonfeed.org/version/1","title":"Micro.blog - Thomas Cannon","home_page_url":"https://micro.blog","feed_url":"https://micro.blog/posts/tcannonfodder","_microblog":{"about":"https://micro.blog/about/api","id":"91284","username":"tcannonfodder","bio":"Developer, just trying to raise the Lady Bird of Dogs. Making music in my spare time. Probably also making beans and bread.","pronouns":"","is_following":false,"is_you":false,"following_count":15,"discover_count":0},"author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://www.gravatar.com/avatar/ca9cec5f94901b30c846d25752b7ecbd?s=96&d=https%3A%2F%2Fmicro.blog%2Fimages%2Fblank_avatar.png"},"items":[{"id":"87977689","content_html":"<p>I was just trying to look up teardowns of EWIs, and YouTube decided to drag my ass in the harshest way possible.</p>\n<img src=\"https://cdn.uploads.micro.blog/51932/2026/1ad37be5cd.png\" width=\"277\" height=\"600\" alt=\"A screenshot of YouTube search results on mobile, searching for Akai EWI Solo.&amp;10;&amp;10;Most of the screen is taken up by a BetterHelp ad, with a woman whose face is actively grimacing saying to a man “You were a mess.” The title of the ad is: “Healing is Possible. Find it in Therapy.”\" loading=\"lazy\">\n","summary":"","url":"https://microblog.thomascannon.me/2026/04/10/i-was-just-trying-to.html","date_published":"2026-04-10T12:53:19+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-04-10 12:53","date_timestamp":1775825599,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/116380513292113060","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mj5emsljxs2p"]}},{"id":"87977452","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> All cleared up! :D</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mizbcxf2rk26","date_published":"2026-04-08T21:45:34+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-04-08 21:45","date_timestamp":1775684734,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87977453","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> <a href=\"http://aidosaur.bsky.social\">@aidosaur.bsky.social</a> do you know if George has sent out a ping yet? I still haven’t been able to find one in my inbox 😭</p>\n<p>(I’m also available via Bluesky DMs if needed!)</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3miyagabtxc2t","date_published":"2026-04-08T11:56:51+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-04-08 11:56","date_timestamp":1775649411,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87977454","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> Not sure if the ping had been sent out yet, but in case it was, as an extra precaution I sent over a fresh email from my Gmail account to info@organizedhavoc.com</p>\n<p>Really sorry to bug y’all about this and the seemingly missed pings! 😭</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3miogwt3lnc2y","date_published":"2026-04-04T14:26:52+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-04-04 14:26","date_timestamp":1775312812,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87977455","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> Ack! I’m glad I pinged you! If y’all can reply here when the email goes out, I’ll double-check my inbox! (I just checked my spam, no dice 😭😭)</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3miljcmsfgk2p","date_published":"2026-04-03T10:31:17+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-04-03 10:31","date_timestamp":1775212277,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87977456","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> I will admit, I <em>also</em> want for 2 reasons:</p>\n<ul>\n<li>PULL THE LEVEL KRONK</li>\n<li>Anyone I need to open a prod console: knowyourmeme.com/photos/17346…</li>\n</ul>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3migwja5y4s2f","date_published":"2026-04-01T14:44:18+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-04-01 14:44","date_timestamp":1775054658,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87977457","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> Yes I have been waiting over 5 years to talk about this episode why do you ask</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3miczii3mr22y","date_published":"2026-03-31T01:26:55+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-31 01:26","date_timestamp":1774920415,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87977458","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> Stakes don’t matter unless you get an audience to care about them, which means they have to be invested about the people onscreen. 24 episode seasons let you do so much as a writer because they encourage the details to breathe.</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3miczhm7eys2y","date_published":"2026-03-31T01:26:26+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-31 01:26","date_timestamp":1774920386,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87977459","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> I think it’s a mixture of:</p>\n<ul>\n<li>these actors really being dialed in</li>\n<li>a number of set design &amp; fight choreo decisions that make it feel frenetic</li>\n</ul>\n<p>Oh, and the fact this show had time to breathe; that can’t be emphasized enough.</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3miczhm7d2c2y","date_published":"2026-03-31T01:26:26+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-31 01:26","date_timestamp":1774920386,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87977460","content_html":"<p><a href=\"http://thomasfuchs.at\">@thomasfuchs.at</a> On Heroku, a Salesforce Company</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3micpyrif422a","date_published":"2026-03-30T22:37:04+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-30 22:37","date_timestamp":1774910224,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87977461","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> 2026 continues apace</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3micpy3eftc2a","date_published":"2026-03-30T22:36:41+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-30 22:36","date_timestamp":1774910201,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87977462","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> See how Salesforce uses Slack, a Salesforce Company</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3micpx3vuts2a","date_published":"2026-03-30T22:36:08+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-30 22:36","date_timestamp":1774910168,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87977463","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> Too bad, all huddles are competitions for $100K</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3micpwcsitk2a","date_published":"2026-03-30T22:35:42+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-30 22:35","date_timestamp":1774910142,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87282729","content_html":"<p>Legion of Doom levels of “nightmare blunt rotation” here</p>\n<img src=\"https://cdn.uploads.micro.blog/51932/2026/26ff770968-m.jpg\" width=\"600\" height=\"568\" alt=\"A marketing email from Slack for a Webinar, with the subject: “Tomorrow: See how Anthropic, MrBeast, and Salesforce are using Slack to move faster”\" loading=\"lazy\">\n","summary":"","url":"https://microblog.thomascannon.me/2026/03/30/legion-of-doom-levels-of.html","date_published":"2026-03-30T21:53:33+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-30 21:53","date_timestamp":1774907613,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/116320347507973645","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3micnlxvjfy2k"]}},{"id":"87282685","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> Kasper the way this movie makes smoking looks like the coolest goddamn thing on the planet</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mic4x7hr222g","date_published":"2026-03-30T16:56:11+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-30 16:56","date_timestamp":1774889771,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87229767","content_html":"<p>Today was my 3rd watch of <em>The Wind Rises</em>; which isn’t exactly my top Ghibli movie but has so many tiny, tragic moments that reflect what it’s felt like trying to work amidst all of…this</p>\n","summary":"","url":"https://microblog.thomascannon.me/2026/03/29/today-was-my-rd-watch.html","date_published":"2026-03-30T03:54:02+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-30 03:54","date_timestamp":1774842842,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/116316101080558926","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3miarauzvqo2n"]}},{"id":"87229654","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> I already use my tech until it’s run into the ground (and then some), but dear lord this is insanity</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mi2ndpbxts23","date_published":"2026-03-27T17:28:12+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-27 17:28","date_timestamp":1774632492,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87229655","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> Lmk what you think!</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mhox2ima2s2m","date_published":"2026-03-23T01:50:04+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-23 01:50","date_timestamp":1774230604,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87229656","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> Curious to hear your thoughts!</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mhox27imz22m","date_published":"2026-03-23T01:49:54+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-23 01:49","date_timestamp":1774230594,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87229657","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> Also Ryan Gosling pulled it off! Not sure how he did that</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mhowpbmcrs2m","date_published":"2026-03-23T01:43:47+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-23 01:43","date_timestamp":1774230227,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87229658","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> About equal. Both accomplish the tone &amp; core scientific + human elements.</p>\n<p>Put another way: they picked the perfect directors for each movie, respectively</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mhowm2ztps2m","date_published":"2026-03-23T01:42:00+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-23 01:42","date_timestamp":1774230120,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87229659","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> They manage to pull it off in the movie as well!</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mhowhieecs2m","date_published":"2026-03-23T01:39:26+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-23 01:39","date_timestamp":1774229966,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87229660","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> Even better: audiobook! Which IMO is the way to read it</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mhowfbcuec2m","date_published":"2026-03-23T01:38:11+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-23 01:38","date_timestamp":1774229891,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87229661","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> It’s an excellent adaptation! I genuinely don’t have any notes</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mhoweptqr22m","date_published":"2026-03-23T01:37:53+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-23 01:37","date_timestamp":1774229873,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87229662","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> Unfortunately we both have rights to one.more.thing; so lawyers are getting involved</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mhfu5xaqq22w","date_published":"2026-03-19T11:04:21+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-19 11:04","date_timestamp":1773918261,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87229663","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> Yet another namespacing problem</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mhepabe4yk2a","date_published":"2026-03-19T00:03:30+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-19 00:03","date_timestamp":1773878610,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87229664","content_html":"<p><a href=\"http://amyhoy.bsky.social\">@amyhoy.bsky.social</a> www.youtube.com/watch?v=sJNK…</p>\n<p>Jingling keys in front of Execs theory remains undefeated</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mgqtrkzpx22x","date_published":"2026-03-11T02:31:31+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-11 02:31","date_timestamp":1773196291,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87229665","content_html":"<p><a href=\"http://thomascannon.me\">@thomascannon.me</a> In some cases, I’m literally just find/replacing the old model’s key with its new version across the entire codebase, saving at least 30m of manual verification</p>\n","url":"https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mglnwdc3qs2w","date_published":"2026-03-09T01:03:29+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-09 01:03","date_timestamp":1773018209,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"85796888","content_html":"<p>Another great thing about Oaken: as I rip out old models, I have so much less finagling to do because with Oaken’s seeds, I only have a small dataset that’s logically broken up. So I nuke the old seeds, work on a single test until it passes; then the whole suite.</p>\n","summary":"","url":"https://microblog.thomascannon.me/2026/03/08/another-great-thing-about-oaken.html","date_published":"2026-03-09T01:00:03+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-09 01:00","date_timestamp":1773018003,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/116196508612334113","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mglnqjkval2a"]}},{"id":"85666683","content_html":"<p>Heads up! our new home for Ruby gems is gem.coop. If you’re looking for the latest and greatest open-source work from us, there’s where to go</p>\n<p><a href=\"https://beta.gem.coop/@practical-computer\">beta.gem.coop/@practica…</a></p>\n","summary":"","url":"https://blog.practical.computer/2026/03/06/heads-up-our-new-home.html","date_published":"2026-03-06T21:45:04+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-03-06 21:45","date_timestamp":1772833504,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"84010993","content_html":"<p>A truly amazing gift that my dad made; a 3D woodcut of the Practical Computer logo. And the color matching is perfect too!</p>\n<p>It deserves to be right under <a href=\"http://jennyrjohnsonart.bsky.social\">@jennyrjohnsonart.bsky.social</a>’s amazing work.</p>\n<img src=\"https://cdn.uploads.micro.blog/51932/2026/9f79c64877-m.jpg\" width=\"450\" height=\"600\" alt=\"A sunlit photo of a shadow-boxed, CNC-d, painted version of the Practical Computer logo. It is hung under an oil painting of an iconic scene from Deep Space Nine’s “Far Beyond The Stars”\" loading=\"lazy\">\n","summary":"","url":"https://microblog.thomascannon.me/2026/02/10/a-truly-amazing-gift-that.html","date_published":"2026-02-11T00:20:28+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-02-11 00:20","date_timestamp":1770769228,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/116049134754733961","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mek7gs52ag2k"]}},{"id":"83914724","content_html":"<p>The Seinfeld Transcoding Problem: <a href=\"https://microblog.thomascannon.me/2026/02/09/the-seinfeld-transcoding-problem.html\">microblog.thomascannon.me</a></p>","summary":"","url":"https://microblog.thomascannon.me/2026/02/09/the-seinfeld-transcoding-problem.html","date_published":"2026-02-09T16:06:47+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-02-09 16:06","date_timestamp":1770653207,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"83365058","content_html":"<p>🕵️‍♂️ Pssst! LittleCRM now lets you set a codename for a deal; because it’s always much more fun to add ✨mystery✨ to the work</p>\n<img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fblog.practical.computer%2Fuploads%2F2026%2F39dae0f83f.png\" alt=\"A screenshot of LittleCRM, showing how deals can have codenames (labels), with versions of the deal cards in various states.\" loading=\"lazy\">\n","summary":"","url":"https://blog.practical.computer/2026/02/01/pssst-littlecrm-now-lets-you.html","date_published":"2026-02-01T19:50:38+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-02-01 19:50","date_timestamp":1769975438,"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:fouwpjytbdir5el3pfmunufw/post/3mdt47xvozy26"]}},{"id":"82773982","content_html":"<p>Announcing `caddy-dev`: <a href=\"https://blog.practical.computer/2026/01/24/announcing-caddydev.html\">blog.practical.computer</a></p>","summary":"","url":"https://blog.practical.computer/2026/01/24/announcing-caddydev.html","date_published":"2026-01-24T17:02:21+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-01-24 17:02","date_timestamp":1769274141,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:fouwpjytbdir5el3pfmunufw/post/3md6p3d7iaz2f"]}},{"id":"82222475","content_html":"<p>Web Awesome continues to be an excellent investment. Since it’s all based on Web Standards, extending it to handle complex behavior leverages decades of experience, tooling, and approaches. Gotta love it!</p>\n<p><a href=\"https://github.com/shoelace-style/webawesome/discussions/1939#discussioncomment-15521818\">github.com/shoelace-…</a></p>\n","summary":"","url":"https://blog.practical.computer/2026/01/16/web-awesome-continues-to-be.html","date_published":"2026-01-16T21:51:38+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-01-16 21:51","date_timestamp":1768600298,"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:fouwpjytbdir5el3pfmunufw/post/3mcl3ggpbul2d"]}},{"id":"81458020","content_html":"<p>Replaced the battery on my iPod and only busted up the case <em>a little</em>. These buggers are a nightmare.</p>\n<div class=\"microblog_collection\">\n<img src=\"https://cdn.uploads.micro.blog/51932/2026/118d6a221b-m.jpg\" width=\"450\" height=\"600\" alt=\"An iPod with minor case damage on the top\" loading=\"lazy\"><img src=\"https://cdn.uploads.micro.blog/51932/2026/15ba9c38b7-m.jpg\" width=\"450\" height=\"600\" alt=\"An iPod, opened up with its battery detached and pry tools everywhere \" loading=\"lazy\"><img src=\"https://cdn.uploads.micro.blog/51932/2026/bfc402cc0a-m.jpg\" width=\"450\" height=\"600\" alt=\"An iPod with plastic wedges sticking out of it\" loading=\"lazy\">\n</div>\n","summary":"","url":"https://microblog.thomascannon.me/2026/01/06/replaced-the-battery-on-my.html","date_published":"2026-01-06T11:48:24+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2026-01-06 11:48","date_timestamp":1767700104,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/115848001368566883","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mbqv5yndcx25"]}},{"id":"80976380","content_html":"<p>Pop Quiz: is this a bug? Or how iPad OS 26 decided multitasking should be?</p>\n<p>How is this SO BAD?</p>\n<img src=\"https://cdn.uploads.micro.blog/51932/2025/img-0188.png\" width=\"600\" height=\"449\" alt=\"A screenshot of iPad OS, with tiny traffic light icons everywhere, but no grounding or idea of there being overlapping windows.\" loading=\"lazy\">\n","summary":"","url":"https://microblog.thomascannon.me/2025/12/29/pop-quiz-is-this-a.html","date_published":"2025-12-30T02:08:06+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-12-30 02:08","date_timestamp":1767060486,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/115806082278697886","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mb6bhanfl42k"]}},{"id":"80912990","content_html":"<p>Having a normal one while writing docs</p>\n<img src=\"https://cdn.uploads.micro.blog/51932/2025/7a3bb844f7.png\" width=\"277\" height=\"600\" alt=\"After all, what is an email address but a handle for transmitting email? A phone number a handle for telecommunication protocols? Websites, handles for information on the web (generally tied to a person or team)? And handles in other platforms, instagram, bluesky; they can be resolved too…&amp;10;&amp;10;In some of the most resplendent Pepe Silvia work of my lifetime, I zeroed in on my favorite artifact of the digital era: the Universal Resource Identifier.&amp;10;&amp;10;(Almost) every handle I could think of could be resolved to a URI! tel, sms, mailto the humble https! No matter how you communicated with someone, I could compress it down to a universal standard: a type, a human label, and an almost always a URI.&amp;10;&amp;10;It was beautifully simple in its modeling, endlessly extendable, future-proof, maximally compressible. And ultimately unworkable in real-world usage.\" loading=\"lazy\">\n","summary":"","url":"https://microblog.thomascannon.me/2025/12/28/having-a-normal-one-while.html","date_published":"2025-12-29T01:54:01+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-12-29 01:54","date_timestamp":1766973241,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/115800366841482969","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3mb3qa5w7xi2n"]}},{"id":"80809000","content_html":"<p>Before and after today’s polishing round. Slowly, but surely, getting there</p>\n<div class=\"microblog_collection\">\n<img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fblog.practical.computer%2Fuploads%2F2025%2Fscreenshot-2025-12-26-at-20.37.23.png\" width=\"600\" height=\"585\" alt=\"The start of today's polishing round. The UI takes up a lot of vertical space, without much visual cohesion.\" loading=\"lazy\"><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fblog.practical.computer%2Fuploads%2F2025%2Fscreenshot-2025-12-26-at-20.36.52.png\" width=\"600\" height=\"585\" alt=\"After today's polishing pass. The components are grouped together, wasteful information is trimmed, and there's a better flow of information\" loading=\"lazy\">\n</div>\n","summary":"","url":"https://blog.practical.computer/2025/12/26/before-and-after-todays-polishing.html","date_published":"2025-12-27T01:39:50+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-12-27 01:39","date_timestamp":1766799590,"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:fouwpjytbdir5el3pfmunufw/post/3mawoflq5mq2d"]}},{"id":"80034965","content_html":"<p>Please do not speak to me or my son ever again.</p>\n<p><img src=\"https://cdn.uploads.micro.blog/51932/2025/d6940a5672-m.jpg\" alt=\"a lamp shaped like a robot, made of discarded parts welded together. The light comes from the eyes, wearing green glasses\" loading=\"lazy\"></p>\n","summary":"","url":"https://microblog.thomascannon.me/2025/12/14/please-do-not-speak-to.html","date_published":"2025-12-15T02:40:46+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-12-15 02:40","date_timestamp":1765766446,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/115721270777400488","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3m7ym7hk24l2r"]}},{"id":"79356006","content_html":"<p><a href=\"https://lyra.horse/blog/2025/08/you-dont-need-js\">lyra.horse/blog/2025…</a></p>\n","summary":"","url":"https://microblog.thomascannon.me/2025/12/04/httpslyrahorseblogyoudontneedjs.html","date_published":"2025-12-05T00:10:29+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-12-05 00:10","date_timestamp":1764893429,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/115664056050209529","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3m777553feb2t"]}},{"id":"79310070","content_html":"<p><a href=\"https://people-work.io/blog/junior-hiring-crisis/\">people-work.io/blog/juni…</a></p>\n","summary":"","url":"https://microblog.thomascannon.me/2025/12/04/httpspeopleworkioblogjuniorhiringcrisis.html","date_published":"2025-12-04T12:29:07+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-12-04 12:29","date_timestamp":1764851347,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/115661305244331812","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3m75y27jube2c"]}},{"id":"79034350","content_html":"<p>After finishing <em>The Rose Field</em>, I am even more convinced that lauded writers need editors trained on them like snipers at all times. 🙃</p>\n","summary":"","url":"https://microblog.thomascannon.me/2025/11/30/after-finishing-the-rose-field.html","date_published":"2025-11-30T15:09:22+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-11-30 15:09","date_timestamp":1764515362,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/115639279102277560","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3m6u6zuxcoc2c"]}},{"id":"78987629","content_html":"<p>I knew trimming a bunch of dead code from Little CRM would be a lot, but not 22K+ 😬😵‍💫</p>\n<img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fblog.practical.computer%2Fuploads%2F2025%2F09576b0c71.png\" alt=\"A Github diff summary, showing 599 changed files with 2,594 additions and 22,874 deletions\" loading=\"lazy\">\n","summary":"","url":"https://blog.practical.computer/2025/11/29/i-knew-trimming-a-bunch.html","date_published":"2025-11-29T17:53:00+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-11-29 17:53","date_timestamp":1764438780,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"78948857","content_html":"<p>This always bodes well as a Linear ticket (doing major Little CRM refactoring to remove cruft from prototypes)</p>\n<img src=\"https://cdn.uploads.micro.blog/51932/2025/175b451222.png\" alt=\"A Linear ticket with the title: 'Remove Crafts code' and the body: 'I legitimately keep forgetting it’s here, and no one asks for it'\" loading=\"lazy\">\n","summary":"","url":"https://microblog.thomascannon.me/2025/11/28/this-always-bodes-well-as.html","date_published":"2025-11-29T00:13:08+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-11-29 00:13","date_timestamp":1764375188,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/115630093591311957","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3m6q4it4cfg2w"]}},{"id":"78285368","content_html":"<p>What have we *really* gained in the past (almost) decade of tech? <a href=\"https://microblog.thomascannon.me/2025/11/18/what-have-we-really-gained.html\">microblog.thomascannon.me</a></p>","summary":"","url":"https://microblog.thomascannon.me/2025/11/18/what-have-we-really-gained.html","date_published":"2025-11-19T04:03:23+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-11-19 04:03","date_timestamp":1763525003,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/115574375171214586","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3m5xeoymnj32p"]}},{"id":"77431769","content_html":"<p>I do regret that this is gonna get cut from a work presentation because it doesn’t fit in the flow.</p>\n<img src=\"https://cdn.uploads.micro.blog/51932/2025/abd09b-m.jpg\" width=\"500\" height=\"593\" alt='A version of the \"My body is a machine\" meme, but with \"My [Safari Icon] is a machine that turns Dispatched Events into Handled Events\"' loading=\"lazy\">\n","summary":"","url":"https://microblog.thomascannon.me/2025/11/06/i-do-regret-that-this.html","date_published":"2025-11-06T21:22:23+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-11-06 21:22","date_timestamp":1762464143,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":["https://mastodon.social/@tcannonfodder/115504851336957698","https://bsky.app/profile/did:plc:amcoolkcwqyoow5g4j5pxnvx/post/3m4yipd5gaj2j"]}},{"id":"76323195","content_html":"<p>New open-source PR, this time for Noticed + keyword mailers! <a href=\"https://github.com/excid3/noticed/pull/565\">github.com/excid3/no…</a></p>\n","summary":"","url":"https://blog.practical.computer/2025/10/21/new-opensource-pr-this-time.html","date_published":"2025-10-21T22:12:48+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-10-21 22:12","date_timestamp":1761084768,"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:fouwpjytbdir5el3pfmunufw/post/3m3qe26gnir2c"]}},{"id":"75745623","content_html":"<p>Shoutouts to the Datadog team for making it remarkably easy to write + submit an integration. Hopefully this will get merged in soon!</p>\n<p><a href=\"https://github.com/DataDog/dd-trace-rb/pull/4977\">github.com/DataDog/d…</a></p>\n","summary":"","url":"https://blog.practical.computer/2025/10/14/shoutouts-to-the-datadog-team.html","date_published":"2025-10-14T11:52:58+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-10-14 11:52","date_timestamp":1760442778,"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:fouwpjytbdir5el3pfmunufw/post/3m35o5icil72h"]}},{"id":"75333220","content_html":"<p>Quick notes: Lies, Damn Lies, and Chrome's Lighthouse tab: <a href=\"https://blog.practical.computer/2025/10/08/quick-notes-lies-damn-lies.html\">blog.practical.computer</a></p>","summary":"","url":"https://blog.practical.computer/2025/10/08/quick-notes-lies-damn-lies.html","date_published":"2025-10-08T21:44:50+00:00","author":{"name":"Thomas Cannon","url":"https://thomascannon.me","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fca9cec5f94901b30c846d25752b7ecbd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"tcannonfodder"}},"_microblog":{"date_relative":"2025-10-08 21:44","date_timestamp":1759959890,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":["https://bsky.app/profile/did:plc:fouwpjytbdir5el3pfmunufw/post/3m2pmgcy2oa22"]}}]}