[{"id":"113456937132069677","created_at":"2024-11-10T05:11:11.375Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113456937132069677","url":"https://ruby.social/@adam/113456937132069677","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eI’ve been looking forward to Heretic for months and it didn’t disappoint.\u003c/p\u003e\u003cp\u003eA horror movie about LDS missionaries staring Hugh Grant?\u003c/p\u003e\u003cp\u003eWhat I don’t expect were in depth theological discussions. \u003c/p\u003e\u003cp\u003e\u003ca href=\"https://boxd.it/7LW5Sx\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eboxd.it/7LW5Sx\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Ivory for iOS","website":"https://tapbots.com/"},"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":{"url":"https://boxd.it/7LW5Sx","title":"A ★★★★½ review of Heretic (2024)","description":"Seeing this in SLC, the biggest laugh was when one of the missionaries said she was from Ogden. Now I want to play Monopoly.","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":640,"height":360,"image":null,"image_description":"","embed_url":"","blurhash":"U77J|I}?S}R+t6SfI;WC58E2NGf8fRs.xYoL","published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113450091704388436","created_at":"2024-11-09T00:10:18.440Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113450091704388436","url":"https://ruby.social/@adam/113450091704388436","replies_count":0,"reblogs_count":0,"favourites_count":3,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eJust finished \u0026amp; enjoyed Jade War (#2 in the Green Bone Saga). 💙📚\u003c/p\u003e\u003cp\u003eThis series reminds me of Avatar: The Legend of Korra meets The Poppy War. It\u0026#39;s set in a world undergoing an industrial and economic revolution due to magical jade.\u003c/p\u003e\u003cp\u003eLet\u0026#39;s see how the series resolves!\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://hardcover.app/books/jade-war/reviews/@adam?referrer_id=1\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ehardcover.app/books/jade-war/r\u003c/span\u003e\u003cspan class=\"invisible\"\u003eeviews/@adam?referrer_id=1\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":{"url":"https://hardcover.app/books/jade-war/reviews/@adam?referrer_id=1","title":"Adam's review of Jade War by Fonda Lee","description":"Adam rated this book 4⭐. Jade War by Fonda Lee. #2 of 3 in The Green Bone Saga. 4.38⭐. 186 ratings. 31 reviews. 609 pages. In Jade War, the sequel to the World Fantasy Award-winning novel Jade City, the ...","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":662,"height":348,"image":null,"image_description":"Jade War by Fonda Lee","embed_url":"","blurhash":"U~L|v2_NayIUwdShayjYt7kBj@azj?j[j[a{","published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113440014772114928","created_at":"2024-11-07T05:27:36.656Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113440014772114928","url":"https://ruby.social/@adam/113440014772114928","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eI am giving BlueSky a try after seeing more programmers trying it out.\u003c/p\u003e\u003cp\u003eI\u0026#39;m unsure where I\u0026#39;ll stay, but I enjoy exploring it. With my break from Reddit/TikTok, I need something to fill the time. 😂\u003c/p\u003e\u003cp\u003eIf you\u0026#39;re on Blue Sky, let\u0026#39;s be friends:\u003cbr /\u003e\u003ca href=\"https://bsky.app/profile/adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/adamfortuna.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":{"url":"https://bsky.app/profile/adamfortuna.com","title":"Adam Fortuna (@adamfortuna.com)","description":"Full-stack product developer (Rails \u0026 React atm) in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\n\n📚 Founder @ https://hardcover.app\n✍️ Blogger @ https://adamfortuna.com\n\nMastodon: @adam@ruby.social","language":null,"type":"link","author_name":"","author_url":"","provider_name":"Bluesky Social","provider_url":"","html":"","width":831,"height":277,"image":null,"image_description":"","embed_url":"","blurhash":"UCDb~QH?Qn}rPiv#RWJV%MnOMxXTMy?HninN","published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113438574938281338","created_at":"2024-11-06T23:21:26.536Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113438574938281338","url":"https://ruby.social/@adam/113438574938281338","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eNew blog post: My Second Term Plan\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://adamfortuna.com/my-second-term-plan\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eadamfortuna.com/my-second-term\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-plan\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://ruby.social/tags/blog\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eblog\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/blogging\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eblogging\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/goals\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003egoals\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/habits\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ehabits\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[{"name":"blog","url":"https://ruby.social/tags/blog"},{"name":"blogging","url":"https://ruby.social/tags/blogging"},{"name":"goals","url":"https://ruby.social/tags/goals"},{"name":"habits","url":"https://ruby.social/tags/habits"}],"emojis":[],"quote":null,"card":{"url":"https://adamfortuna.com/my-second-term-plan","title":"My Second Term Plan","description":"What I'm shifting my attention to over the next 4 years.","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":588,"height":392,"image":null,"image_description":"","embed_url":"","blurhash":"UkNT{?WB~Xxtjroea#a#~Xj?t7f,o#WXs;ay","published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113437691789316331","created_at":"2024-11-06T19:36:50.751Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113437691789316331","url":"https://ruby.social/@adam/113437691789316331","replies_count":0,"reblogs_count":0,"favourites_count":4,"quotes_count":0,"edited_at":"2024-11-06T19:37:41.911Z","content":"\u003cp\u003eThe time leading up to the 2016 election, and pretty much his entire first term were a slow boil to see how much news and information I could take in. I\u0026#39;m following Kamala\u0026#39;s advice and not going back to that.\u003c/p\u003e","reblog":null,"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113318979323127748","created_at":"2024-10-16T20:26:42.272Z","in_reply_to_id":"113303515118359064","in_reply_to_account_id":"109282513819556227","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113318979323127748","url":"https://ruby.social/@adam/113318979323127748","replies_count":0,"reblogs_count":0,"favourites_count":1,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://mastodon.online/@frankejames\" class=\"u-url mention\"\u003e@\u003cspan\u003efrankejames\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e Thanks for mentioning Hardcover Franke!\u003c/p\u003e\u003cp\u003eWe\u0026#39;re growing at a decent pace and hope to do more with authors in the new year as we expand who we\u0026#39;re building for from readers to readers \u0026amp; authors. 🖊️📚\u003c/p\u003e","reblog":null,"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[{"id":"109282513819556227","username":"frankejames","url":"https://mastodon.online/@frankejames","acct":"frankejames@mastodon.online"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113318975434502965","created_at":"2024-10-16T20:25:42.936Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":null,"uri":"https://ruby.social/users/adam/statuses/113318975434502965/activity","url":"https://ruby.social/users/adam/statuses/113318975434502965/activity","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"","reblog":{"id":"113303515118359064","created_at":"2024-10-14T02:53:57.000Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://mastodon.online/users/frankejames/statuses/113303515159421683","url":"https://mastodon.online/@frankejames/113303515159421683","replies_count":1,"reblogs_count":1,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eWelcome 📚 news! Publishing expert Jane Friedman said in her Electric Speed Newsletter, \"I’ve seen many \u003ca href=\"https://mastodon.online/tags/book\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ebook\u003c/span\u003e\u003c/a\u003e review... apps come and go, and this one may fade over time like just the others. But it’s worth checking out anyway: \u003ca href=\"https://mastodon.online/tags/Hardcover\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eHardcover\u003c/span\u003e\u003c/a\u003e, available on the web and as an iPhone or Android app. The people behind it want to create an alternative to Amazon’s \u003ca href=\"https://mastodon.online/tags/Goodreads\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eGoodreads\u003c/span\u003e\u003c/a\u003e.\" 👏 👏 👏  \u003c/p\u003e\u003cp\u003e\u003ca href=\"https://hardcover.app/blog/goodreads-vs-hardcover\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ehardcover.app/blog/goodreads-v\u003c/span\u003e\u003cspan class=\"invisible\"\u003es-hardcover\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.online/tags/writers\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ewriters\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.online/tags/authors\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eauthors\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"account":{"id":"109282513819556227","username":"frankejames","acct":"frankejames@mastodon.online","display_name":"Franke James","locked":true,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-04-27T00:00:00.000Z","note":"\u003cp\u003e🇨🇦 Activist \u0026amp; award-winning author of 4 books about disability rights, climate change, free expression, censorship, \u0026amp; office politics. \u2028\u003ca href=\"https://mastodon.online/tags/FreeingTeresa\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eFreeingTeresa\u003c/span\u003e\u003c/a\u003e is her latest book.\u2028\u003c/p\u003e","url":"https://mastodon.online/@frankejames","uri":"https://mastodon.online/users/frankejames","avatar":"https://cdn.masto.host/rubysocial/cache/accounts/avatars/109/282/513/819/556/227/original/bd119d341ef34adf.png","avatar_static":"https://cdn.masto.host/rubysocial/cache/accounts/avatars/109/282/513/819/556/227/original/bd119d341ef34adf.png","header":"https://cdn.masto.host/rubysocial/cache/accounts/headers/109/282/513/819/556/227/original/4fdad2c81e579969.jpg","header_static":"https://cdn.masto.host/rubysocial/cache/accounts/headers/109/282/513/819/556/227/original/4fdad2c81e579969.jpg","followers_count":950,"following_count":949,"statuses_count":3640,"last_status_at":"2026-03-23","hide_collections":false,"emojis":[],"fields":[]},"media_attachments":[],"mentions":[],"tags":[{"name":"book","url":"https://ruby.social/tags/book"},{"name":"hardcover","url":"https://ruby.social/tags/hardcover"},{"name":"goodreads","url":"https://ruby.social/tags/goodreads"},{"name":"writers","url":"https://ruby.social/tags/writers"},{"name":"authors","url":"https://ruby.social/tags/authors"}],"emojis":[],"quote":null,"card":{"url":"https://hardcover.app/blog/goodreads-vs-hardcover","title":"Goodreads vs. Hardcover: Which is Right for You? - Hardcover","description":"A feature by feature comparison of Hardcover and Goodreads with screenshots.","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":0,"height":0,"image":null,"image_description":"Hardcover: Join the social book network. Sign up.","embed_url":"","blurhash":null,"published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113273676526996124","created_at":"2024-10-08T20:25:36.459Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113273676526996124","url":"https://ruby.social/@adam/113273676526996124","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":"2024-10-08T20:25:49.992Z","content":"\u003cp\u003eAlways a bit funny when I say \u0026quot;I\u0026#39;ll give it one more try in Cursor before I have to download this library and investigate why I\u0026#39;m getting a specific error\u0026quot; - then it works. 😅\u003c/p\u003e","reblog":null,"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113261878471021459","created_at":"2024-10-06T18:25:12.411Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113261878471021459","url":"https://ruby.social/@adam/113261878471021459","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eFor the Hardcover migration from Next.js to Rails, one thing I\u0026#39;m removing is any use of Apollo Fragment caching to determine UI state.\u003c/p\u003e\u003cp\u003ePreviously for things like a Like Button, or your Ownership for an Edition, we\u0026#39;d prime the Apollo cache and then load your state from that.\u003c/p\u003e\u003cp\u003eWith the new setup, we\u0026#39;re just loading that data into Redux (what you\u0026#39;ve liked, what you own), and then the initial render can use it.\u003c/p\u003e\u003cp\u003eSo far it\u0026#39;s a lot cleaner - and no GraphQL to worry about.\u003c/p\u003e","reblog":null,"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[{"id":"113261877391355603","type":"image","url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/261/877/391/355/603/original/4d9736d2990b61db.png","preview_url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/261/877/391/355/603/small/4d9736d2990b61db.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":198,"height":86,"size":"198x86","aspect":2.302325581395349},"small":{"width":198,"height":86,"size":"198x86","aspect":2.302325581395349}},"description":null,"blurhash":"UF8yxZ$iJ8J8sooKa|WW1cJR$P$PNvS2oKso"},{"id":"113261877475952580","type":"image","url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/261/877/475/952/580/original/3e2057990d0f1e59.png","preview_url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/261/877/475/952/580/small/3e2057990d0f1e59.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":676,"height":446,"size":"676x446","aspect":1.515695067264574},"small":{"width":591,"height":390,"size":"591x390","aspect":1.5153846153846153}},"description":null,"blurhash":"U9AJ.z}+DgI@=;=^%2NH9bNLWUoJ4;IuWsnh"}],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113257142947404323","created_at":"2024-10-05T22:20:54.056Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113257142947404323","url":"https://ruby.social/@adam/113257142947404323","replies_count":0,"reblogs_count":0,"favourites_count":5,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eNew updates on the Hardcover Book Page are looking good - and with nice caching for network activity.\u003c/p\u003e","reblog":null,"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[{"id":"113257142778894110","type":"image","url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/257/142/778/894/110/original/ed9c847436963155.png","preview_url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/257/142/778/894/110/small/ed9c847436963155.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":2168,"height":1004,"size":"2168x1004","aspect":2.1593625498007967},"small":{"width":705,"height":326,"size":"705x326","aspect":2.1625766871165646}},"description":null,"blurhash":"U57Ub$VBo|stx#r$knZ~bgnLo|VzNpN2o|sC"}],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113256038232408441","created_at":"2024-10-05T17:39:57.443Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113256038232408441","url":"https://ruby.social/@adam/113256038232408441","replies_count":0,"reblogs_count":0,"favourites_count":2,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eNext.js is the first non-MVC framework I\u0026#39;ve used since 2006, when I moved from spaghetti PHP code to Fusebox, an MVC ColdFusion framework.\u003c/p\u003e\u003cp\u003eHaving a single place for everything is so refreshing. The logical load from solving problems AND deciding on an architecture for every problem makes for slower development.\u003c/p\u003e\u003cp\u003eAlso, caching in a non-MVC framework is 🤯, but not in a good way.\u003c/p\u003e\u003cp\u003eAll this to say, I\u0026#39;m enjoying the Rails + Inertia.js + React migration. 😂\u003c/p\u003e","reblog":null,"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113253004166848520","created_at":"2024-10-05T04:48:21.277Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113253004166848520","url":"https://ruby.social/@adam/113253004166848520","replies_count":1,"reblogs_count":0,"favourites_count":2,"quotes_count":0,"edited_at":"2024-10-05T04:49:04.360Z","content":"\u003cp\u003eWhen I turned 40, I decided to try changing my default color I gravitate to from blue to green.\u003c/p\u003e\u003cp\u003eToday we put in an offer on a house on Green Street here in Salt Lake City!\u003c/p\u003e\u003cp\u003eLife’s funny sometimes. 🫣🏡🥳\u003c/p\u003e","reblog":null,"application":{"name":"Ivory for iOS","website":"https://tapbots.com/"},"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113238406961528667","created_at":"2024-10-02T14:56:05.600Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113238406961528667","url":"https://ruby.social/@adam/113238406961528667","replies_count":0,"reblogs_count":1,"favourites_count":4,"quotes_count":0,"edited_at":"2024-10-02T14:57:34.881Z","content":"\u003cp\u003eHardcover’s rewrite from Next.js to Rails is coming along nicely. Can’t wait to have the entire app in Rails!\u003c/p\u003e\u003cp\u003eOne very nice find has been OJ Serializers + Types from Serializers ( \u003ca href=\"https://github.com/ElMassimo/oj_serializers?tab=readme-ov-file\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003egithub.com/ElMassimo/oj_serial\u003c/span\u003e\u003cspan class=\"invisible\"\u003eizers?tab=readme-ov-file\u003c/span\u003e\u003c/a\u003e + \u003ca href=\"https://github.com/ElMassimo/types_from_serializers\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003egithub.com/ElMassimo/types_fro\u003c/span\u003e\u003cspan class=\"invisible\"\u003em_serializers\u003c/span\u003e\u003c/a\u003e ).\u003c/p\u003e\u003cp\u003eThis combo allows for TypeScript types for every serializer - making for a great TypeScript experience with Rails.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://ruby.social/tags/RubyOnRails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eRubyOnRails\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/typescript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003etypescript\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/react\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ereact\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/InertiaJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eInertiaJS\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Ivory for iOS","website":"https://tapbots.com/"},"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[{"name":"rubyonrails","url":"https://ruby.social/tags/rubyonrails"},{"name":"typescript","url":"https://ruby.social/tags/typescript"},{"name":"ruby","url":"https://ruby.social/tags/ruby"},{"name":"react","url":"https://ruby.social/tags/react"},{"name":"InertiaJS","url":"https://ruby.social/tags/InertiaJS"}],"emojis":[],"quote":null,"card":{"url":"https://github.com/ElMassimo/oj_serializers","title":"GitHub - ElMassimo/oj_serializers: ⚡️ Faster JSON serialization for Ruby on Rails. Easily migrate away from Active Model Serializers.","description":"⚡️ Faster JSON serialization for Ruby on Rails. Easily migrate away from Active Model Serializers. - ElMassimo/oj_serializers","language":"en","type":"link","author_name":"","author_url":"","provider_name":"GitHub","provider_url":"","html":"","width":1200,"height":600,"image":null,"image_description":"⚡️ Faster JSON serialization for Ruby on Rails. Easily migrate away from Active Model Serializers. - ElMassimo/oj_serializers","embed_url":"","blurhash":"UQR:B0tRM{xuxut7RPt7V@aeofRj_NRPxuRj","published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113183677490940766","created_at":"2024-09-22T22:57:40.154Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113183677490940766","url":"https://ruby.social/@adam/113183677490940766","replies_count":0,"reblogs_count":0,"favourites_count":1,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eOne of the neat little charts on Hardcover is this Ratings Distribution that\u0026#39;s on each book page (ex: \u003ca href=\"https://hardcover.app/books/tomorrow-and-tomorrow-and-tomorrow\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ehardcover.app/books/tomorrow-a\u003c/span\u003e\u003cspan class=\"invisible\"\u003end-tomorrow-and-tomorrow\u003c/span\u003e\u003c/a\u003e ).\u003c/p\u003e\u003cp\u003eI previously tried to generate this using D3.js on the server side using JS DOM - which is what Hardcover uses right now.\u003c/p\u003e\u003cp\u003eIn the conversion to Rails, I\u0026#39;m switching this to just use D3.js scales, then generate the SVG directly. It\u0026#39;s sooo much smoother, and uses the good parts of D3.\u003c/p\u003e\u003cp\u003eThis course used the same technique:\u003cbr /\u003e\u003ca href=\"https://www.newline.co/courses/better-data-visualizations-with-svelte\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003enewline.co/courses/better-data\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-visualizations-with-svelte\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://ruby.social/tags/d3\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ed3\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/d3js\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ed3js\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/svg\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003esvg\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[{"id":"113183652135836898","type":"image","url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/183/652/135/836/898/original/17543b9691b63f99.png","preview_url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/183/652/135/836/898/small/17543b9691b63f99.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":682,"height":258,"size":"682x258","aspect":2.643410852713178},"small":{"width":682,"height":258,"size":"682x258","aspect":2.643410852713178},"focus":{"x":0.77,"y":0.26}},"description":"Ratings bar chart for a book with text 880 ratings, average rating 4.6 with the most votes in 5 stars.","blurhash":"U571l]0P~49zo$s.RljY0i^z9f-PngM}xXWr"}],"mentions":[],"tags":[{"name":"d3","url":"https://ruby.social/tags/d3"},{"name":"d3js","url":"https://ruby.social/tags/d3js"},{"name":"svg","url":"https://ruby.social/tags/svg"}],"emojis":[],"quote":null,"card":{"url":"https://hardcover.app/books/tomorrow-and-tomorrow-and-tomorrow","title":"Tomorrow, and Tomorrow, and Tomorrow by Gabrielle Zevin","description":"Tomorrow, and Tomorrow, and Tomorrow by Gabrielle Zevin. 4.16⭐. 647 ratings. 111 reviews. 368 pages. In this exhilarating novel by the best-selling author of The Storied Life of A. ...","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":1200,"height":630,"image":null,"image_description":"Tomorrow, and Tomorrow, and Tomorrow by Gabrielle Zevin","embed_url":"","blurhash":"U+Nwcp_NayIU%LM|fQoKofj[j@ayt6WCazof","published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113165379378821449","created_at":"2024-09-19T17:24:13.122Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":null,"uri":"https://ruby.social/users/adam/statuses/113165379378821449/activity","url":"https://ruby.social/users/adam/statuses/113165379378821449/activity","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"","reblog":{"id":"113153774352193428","created_at":"2024-09-17T16:12:48.000Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://mastodon.social/users/chockenberry/statuses/113153773989536831","url":"https://mastodon.social/@chockenberry/113153773989536831","replies_count":14,"reblogs_count":81,"favourites_count":3,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eIf it takes 10,000 hours to achieve expertise in a skill, you can cut that down to 20,000 hours with the help of AI.\u003c/p\u003e","reblog":null,"account":{"id":"11930","username":"chockenberry","acct":"chockenberry@mastodon.social","display_name":"Craig Hockenberry","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2018-08-15T00:00:00.000Z","note":"\u003cp\u003eTOOTILY AWESOME\u003c/p\u003e","url":"https://mastodon.social/@chockenberry","uri":"https://mastodon.social/users/chockenberry","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/000/011/930/original/b57602f22f5c532a.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/000/011/930/original/b57602f22f5c532a.jpeg","header":"https://cdn.masto.host/rubysocial/cache/accounts/headers/000/011/930/original/aa402c733576656b.jpg","header_static":"https://cdn.masto.host/rubysocial/cache/accounts/headers/000/011/930/original/aa402c733576656b.jpg","followers_count":25112,"following_count":222,"statuses_count":6390,"last_status_at":"2026-04-18","hide_collections":false,"emojis":[],"fields":[{"name":"Blog","value":"\u003ca href=\"https://furbo.org/\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003efurbo.org/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-19T12:14:32.593+00:00"},{"name":"Work","value":"\u003ca href=\"https://iconfactory.com\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eiconfactory.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-19T12:14:32.973+00:00"},{"name":"Apps","value":"\u003ca href=\"https://apps.iconfactory.com\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eapps.iconfactory.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-19T12:14:33.340+00:00"},{"name":"Code","value":"\u003ca href=\"https://chockenberry.github.io\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003echockenberry.github.io\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-19T12:14:33.461+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113165354829383457","created_at":"2024-09-19T17:17:58.528Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":null,"uri":"https://ruby.social/users/adam/statuses/113165354829383457/activity","url":"https://ruby.social/users/adam/statuses/113165354829383457/activity","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"","reblog":{"id":"113163484564970012","created_at":"2024-09-19T09:22:20.000Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://mastodon.social/users/marcel/statuses/113163484540376501","url":"https://mastodon.social/@marcel/113163484540376501","replies_count":1,"reblogs_count":1,"favourites_count":1,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003ehere are some thoughts on side quests in life\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://marcel.io/posts/potential-iterations-of-myself\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emarcel.io/posts/potential-iter\u003c/span\u003e\u003cspan class=\"invisible\"\u003eations-of-myself\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"account":{"id":"4267","username":"marcel","acct":"marcel@mastodon.social","display_name":"Marcel","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2016-10-06T00:00:00.000Z","note":"\u003cp\u003eA designer for digital products currently getting into programming.\u003c/p\u003e\u003cp\u003eForbes 8.5 billion under 150.\u003c/p\u003e","url":"https://mastodon.social/@marcel","uri":"https://mastodon.social/users/marcel","avatar":"https://cdn.masto.host/rubysocial/cache/accounts/avatars/000/004/267/original/2ec119ebd0af4640.png","avatar_static":"https://cdn.masto.host/rubysocial/cache/accounts/avatars/000/004/267/original/2ec119ebd0af4640.png","header":"https://cdn.masto.host/rubysocial/accounts/headers/000/004/267/original/b80e205174cc109e.png","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/000/004/267/original/b80e205174cc109e.png","followers_count":2575,"following_count":166,"statuses_count":4377,"last_status_at":"2026-04-19","hide_collections":false,"emojis":[],"fields":[{"name":"Blog","value":"\u003ca href=\"https://marcel.io\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003emarcel.io\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Location","value":"Hamburg","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":{"url":"https://marcel.io/posts/potential-iterations-of-myself","title":"Potential Iterations of Myself","description":"Thoughts about design, code, technology and everything in between.","language":"en","type":"link","author_name":"","author_url":"","provider_name":"marcel.io","provider_url":"","html":"","width":1200,"height":628,"image":null,"image_description":"","embed_url":"","blurhash":"U67AY.W;}IIoG9^R5P-CsC9@xaJ5DjV@t7oy","published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113165230451989839","created_at":"2024-09-19T16:46:20.678Z","in_reply_to_id":null,"in_reply_to_account_id":"109291429928459988","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113165230451989839","url":"https://ruby.social/@adam/113165230451989839","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://ruby.social/@soulcutter\" class=\"u-url mention\"\u003e@\u003cspan\u003esoulcutter\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e haha, I’ll post a comparison later because I’m curious too 🧐\u003c/p\u003e\u003cp\u003eGood feedback on Live. That’s our weekly podcast show (Hardcover Live). I considered Show, but that term has more conflicts. 😂 Maybe Episode would be cleaner.\u003c/p\u003e","reblog":null,"application":{"name":"Ivory for iOS","website":"https://tapbots.com/"},"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[{"id":"109291429928459988","username":"soulcutter","url":"https://ruby.social/@soulcutter","acct":"soulcutter"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113161164789761011","created_at":"2024-09-18T23:32:23.593Z","in_reply_to_id":"113161158482697348","in_reply_to_account_id":"109344395062540706","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113161164789761011","url":"https://ruby.social/@adam/113161164789761011","replies_count":0,"reblogs_count":0,"favourites_count":2,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eConverting 100 pages from Next.js to Rails seems like a daunting task.\u003c/p\u003e\u003cp\u003eOne thing that\u0026#39;s helped is using the Cursor code editor and giving it very specific instructions on how to convert pages. This was generated based on that, and an initial page I wrote myself for it to use as a coding standard.\u003c/p\u003e\u003cp\u003eHaven\u0026#39;t unleashed it on the entire codebase, but trying it on one-off routes to convert them has been faster than doing it myself.\u003c/p\u003e","reblog":null,"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113161158482697348","created_at":"2024-09-18T23:30:47.357Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113161158482697348","url":"https://ruby.social/@adam/113161158482697348","replies_count":1,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eI\u0026#39;m working on refactoring pages from Next.js to Ruby on Rails with Inertia.js and it\u0026#39;s hard to put into words how much less code there is.\u003c/p\u003e\u003cp\u003eThere\u0026#39;s more that I could clean up here, but these are sample endpoints that would correspond with \u003ca href=\"https://hardcover.app/live\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app/live\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e and the single ep pages.\u003c/p\u003e\u003cp\u003eInstance variables are passed to the React Component as props via inertia-rails. \u003c/p\u003e\u003cp\u003eI could see moving this into a Presenter that handles caching+service+serializing, but seems overkill, but feedback welcome!\u003c/p\u003e","reblog":null,"application":null,"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[{"id":"113161147259979591","type":"image","url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/161/147/259/979/591/original/919260829ece48e1.png","preview_url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/161/147/259/979/591/small/919260829ece48e1.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":2048,"height":1276,"size":"2048x1276","aspect":1.6050156739811912},"small":{"width":608,"height":379,"size":"608x379","aspect":1.604221635883905},"focus":{"x":-0.76,"y":0.6}},"description":"Sample Rails controller with actions for index and show with the content:\n\nmodule Clientverse\n  class LiveController \u003c BaseController\n    use_inertia_instance_props\n\n    def index\n      @lives = Rails.cache.fetch(\"live/index-lives\", expires_in: 1.hour) do\n        Wordpress::LiveSerializer.many(WordpressService.new.lives(limit: 1000))\n      end\n    end\n\n    def show\n      @live = Rails.cache.fetch(\"live/show-live-#{params[:id]}\", expires_in: 1.hour) do\n        Wordpress::FullLiveSerializer.one(WordpressService.new.live(episode: params[:id]))\n      end\n    end\n  end\nend","blurhash":"UY6c8Lj[p1fRj[jtfQfPpMfQe-fQfkfQfQj["}],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":{"url":"https://hardcover.app","title":"Hardcover","description":"We're a social network for book lovers to find life changing books, track what you read \u0026 want to read, and connect with passionate readers.","language":"en","type":"link","author_name":"","author_url":"","provider_name":"Hardcover","provider_url":"","html":"","width":662,"height":348,"image":"https://cdn.masto.host/rubysocial/cache/preview_cards/images/007/483/335/original/5fdd2d0f31cb47fe.png","image_description":"Hardcover: Join the social book network. Sign up.","embed_url":"","blurhash":"UC7ne7k2j;xxaqxytRW8oQRgxuoPk9RiRkox","published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113122451237460364","created_at":"2024-09-12T03:27:01.664Z","in_reply_to_id":"113119945113189710","in_reply_to_account_id":"109344395062540706","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://ruby.social/users/adam/statuses/113122451237460364","url":"https://ruby.social/@adam/113122451237460364","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eLooks like the all-out-nothing problem is solved in Inertia v2 announced last month.\u003c/p\u003e\u003cp\u003eLooks like it can be used when something scrolls into view or with a fallback block.\u003c/p\u003e\u003cp\u003eCan’t wait to try it once it’s in inertia-rails.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://pascalbaljet.dev/taylor-otwell-announces-inertia-v2-at-laracon-us-2024-heres-whats-new\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003epascalbaljet.dev/taylor-otwell\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-announces-inertia-v2-at-laracon-us-2024-heres-whats-new\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Ivory for iOS","website":"https://tapbots.com/"},"account":{"id":"109344395062540706","username":"adam","acct":"adam","display_name":"Adam Fortuna","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003eHey hey! I\u0026#39;m a full-stack product developer in Salt Lake City, UT. I love enlivening experiences, visualizing data, and making playful websites.\u003c/p\u003e\u003cp\u003e🧑‍💻 Formerly Course Director @ Code School. \u003cbr /\u003e📚 Currently founder @ \u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e✏️ I write about personal growth, building websites (\u003ca href=\"https://ruby.social/tags/ruby\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eruby\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/nextjs\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003enextjs\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://ruby.social/tags/rubyonrails\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003erubyonrails\u003c/span\u003e\u003c/a\u003e), \u003ca href=\"https://ruby.social/tags/minimalism\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eminimalism\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/mindulness\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emindulness\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://ruby.social/tags/FIRE\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eFIRE\u003c/span\u003e\u003c/a\u003e, recovering from an ACL tear, and awkwardly posting on TikTok (😂).\u003c/p\u003e","url":"https://ruby.social/@adam","uri":"https://ruby.social/users/adam","avatar":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","avatar_static":"https://cdn.masto.host/rubysocial/accounts/avatars/109/344/395/062/540/706/original/0f2f4518461ba637.jpeg","header":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","header_static":"https://cdn.masto.host/rubysocial/accounts/headers/109/344/395/062/540/706/original/d363ce8f5a78051b.jpeg","followers_count":389,"following_count":381,"statuses_count":977,"last_status_at":"2024-11-10","hide_collections":false,"noindex":false,"emojis":[],"roles":[],"fields":[{"name":"Personal Site","value":"\u003ca href=\"https://adamfortuna.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eadamfortuna.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:20:25.723+00:00"},{"name":"Minafi","value":"\u003ca href=\"https://minafi.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eminafi.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Hardcover","value":"\u003ca href=\"https://hardcover.app\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ehardcover.app\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-17T00:55:35.294+00:00"},{"name":"Line of Thought","value":"\u003ca href=\"https://lineofthought.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elineofthought.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[{"id":"113122450358504851","type":"image","url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/122/450/358/504/851/original/7a881ae3c788b9bc.png","preview_url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/122/450/358/504/851/small/7a881ae3c788b9bc.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":1125,"height":2436,"size":"1125x2436","aspect":0.4618226600985222},"small":{"width":326,"height":706,"size":"326x706","aspect":0.46175637393767704}},"description":null,"blurhash":"UH8;V@ofRjju~qfQfQj[~qfQWBj[_3j@j@f7"},{"id":"113122450919454172","type":"image","url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/122/450/919/454/172/original/3bef99daf6fe5fee.png","preview_url":"https://cdn.masto.host/rubysocial/media_attachments/files/113/122/450/919/454/172/small/3bef99daf6fe5fee.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":1125,"height":2436,"size":"1125x2436","aspect":0.4618226600985222},"small":{"width":326,"height":706,"size":"326x706","aspect":0.46175637393767704}},"description":null,"blurhash":"UI8;S+ofRjaz~qofjsj[~qj[WAj[_3j[j[jt"}],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":{"url":"https://pascalbaljet.dev/taylor-otwell-announces-inertia-v2-at-laracon-us-2024-heres-whats-new","title":"Taylor Otwell announces Inertia v2 at Laracon US 2024 - Here’s what’s new! - Pascal Baljet Blog","description":"Taylor Otwell just announced some really cool new features in Inertia v2 at Laracon US 2024. Here's a quick overview of the new features that I wrote down durin...","language":"en","type":"link","author_name":"","author_url":"","provider_name":"Pascal Baljet Blog","provider_url":"","html":"","width":1200,"height":630,"image":null,"image_description":"","embed_url":"","blurhash":"UERW0cMyayV@IVRkayax~qogRjof?afPRjay","published_at":"2024-08-27T21:30:00.000Z","authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}}]