{"version":"https://jsonfeed.org/version/1","title":"Micro.blog - Michael Toulouse","home_page_url":"https://micro.blog","feed_url":"https://micro.blog/posts/MichaelT@ruby.social","_microblog":{"about":"https://micro.blog/about/api","id":"198551","username":"MichaelT@ruby.social","bio":"Software developer and music enthusiast. http://www.anytimeclassical.org #HoosierMast","pronouns":"","is_following":false,"is_you":false,"following_count":0,"discover_count":0},"author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://micro.blog/photos/200/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg"},"items":[{"id":"19444938","content_html":"<p><span class=\"h-card\"><a href=\"https://social.coop/@scottjenson\" class=\"u-url mention\">@<span>scottjenson</span></a></span> Any language-related issues in the instructions? Those are often what trip me up in an installation.</p>","url":"https://ruby.social/users/MichaelT/statuses/110442544619735205","date_published":"2023-05-27T20:31:31+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-05-27 20:31","date_timestamp":1685219491,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"19330317","content_html":"<p><span class=\"h-card\"><a href=\"https://front-end.social/@css\" class=\"u-url mention\">@<span>css</span></a></span> Right! I tried just copying &amp; pasting the code, but it was too long.</p>","url":"https://ruby.social/users/MichaelT/statuses/110418502080624435","date_published":"2023-05-23T14:37:11+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-05-23 14:37","date_timestamp":1684852631,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"19128936","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> <span class=\"h-card\"><a href=\"https://ruby.social/@brendonstanton\" class=\"u-url mention\">@<span>brendonstanton</span></a></span> I think I found my errors. The clue was in the &lt;SCRIPT.../&gt; tag: it was being inserted twice, with exactly the same path to the compiled javascript. </p><p>I think that's because I had been using the old data-turbolinks-track parameter in the ERB, and the new data-turbo-track parameter in Phlex. I made them match, and use the same argument. Now there's just one &lt;SCRIPT.../&gt; tag, and it all works. Thanks for reading!</p>","url":"https://ruby.social/users/MichaelT/statuses/110372706647569469","date_published":"2023-05-15T12:30:48+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-05-15 12:30","date_timestamp":1684153848,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"19116768","content_html":"<p><span class=\"h-card\"><a href=\"https://troet.cafe/@ralphruthe\" class=\"u-url mention\">@<span>ralphruthe</span></a></span> das ist Glück personifiziert.</p>","url":"https://ruby.social/users/MichaelT/statuses/110369141369265118","date_published":"2023-05-14T21:24:07+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-05-14 21:24","date_timestamp":1684099447,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"19107938","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> In the same helper:<br>```<br>def current_user<br>  if (user_id = session[:user_id])<br>    @current_user ||= User.find_by(id: user_id)<br>  elsif (user_id = cookies.signed[:user_id])<br>    user = User.find_by(id: user_id)<br>    if user &amp;&amp; user.authenticated?(:remember, cookies[:remember_token])<br>      log_in user<br>      @current_user = user<br>    end<br>  end<br>end<br>```</p>","url":"https://ruby.social/users/MichaelT/statuses/110367131088278530","date_published":"2023-05-14T12:52:52+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-05-14 12:52","date_timestamp":1684068772,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"19106751","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> There's a weird thing going on with a method in my SessionsHelper module:</p><p>```<br>  def logged_in?<br>    !current_user.nil?<br>  end<br>```<br>In the ERB version, SessionsHelper#logged_in? returns true/false. In the Phlex version, it returns nil, even though there *is* a current_user in both versions.</p>","url":"https://ruby.social/users/MichaelT/statuses/110366764374804476","date_published":"2023-05-14T11:19:37+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-05-14 11:19","date_timestamp":1684063177,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"18832516","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@jeffjarvis\" class=\"u-url mention\">@<span>jeffjarvis</span></a></span> Love the cover design!</p>","url":"https://ruby.social/users/MichaelT/statuses/110305504501384781","date_published":"2023-05-03T15:40:25+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-05-03 15:40","date_timestamp":1683128425,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"18687066","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> Maybe for a small project, like a website with a basic mailer form.</p>","url":"https://ruby.social/users/MichaelT/statuses/110270333901086071","date_published":"2023-04-27T10:36:04+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-04-27 10:36","date_timestamp":1682591764,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"18566512","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@jeffjarvis\" class=\"u-url mention\">@<span>jeffjarvis</span></a></span> Can't believe it's been ten years!</p>","url":"https://ruby.social/users/MichaelT/statuses/110242347119911578","date_published":"2023-04-22T11:58:40+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-04-22 11:58","date_timestamp":1682164720,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"18272918","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> <span class=\"h-card\"><a href=\"https://ruby.social/@rossta\" class=\"u-url mention\">@<span>rossta</span></a></span> Will do. Thanks for replying so early on a holiday!</p>","url":"https://ruby.social/users/MichaelT/statuses/110168606248475484","date_published":"2023-04-09T11:25:24+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-04-09 11:25","date_timestamp":1681039524,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"35326774","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@rossta\" class=\"u-url mention\">@<span>rossta</span></a></span> <span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> phlex-rails 0.1.0 ... thanks for pointing that out. It installed without a problem, but I know that doesn't guarantee it's going to work.</p>","url":"https://ruby.social/users/MichaelT/statuses/110168585201659291","date_published":"2023-04-09T11:20:02+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-04-09 11:20","date_timestamp":1681039202,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"35326771","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@rossta\" class=\"u-url mention\">@<span>rossta</span></a></span> <span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> Yes to both, but thanks! (Sanity still in question....) 😉</p>","url":"https://ruby.social/users/MichaelT/statuses/110168534388937764","date_published":"2023-04-09T11:07:07+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-04-09 11:07","date_timestamp":1681038427,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"18272672","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> Yeah, I was wondering if that was involved. I was reading up about generators at <a href=\"https://guides.rubyonrails.org/generators.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">guides.rubyonrails.org/generat</span><span class=\"invisible\">ors.html</span></a> ... but then I noticed that it's for Rails 7.0.4.2</p>","url":"https://ruby.social/users/MichaelT/statuses/110168517381461579","date_published":"2023-04-09T11:02:48+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-04-09 11:02","date_timestamp":1681038168,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"35326769","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> Rails version is 6.0.1</p>","url":"https://ruby.social/users/MichaelT/statuses/110168490200755896","date_published":"2023-04-09T10:55:53+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-04-09 10:55","date_timestamp":1681037753,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"18272561","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> phlex-rails</p>","url":"https://ruby.social/users/MichaelT/statuses/110168486780062738","date_published":"2023-04-09T10:55:01+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-04-09 10:55","date_timestamp":1681037701,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"35326768","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> Could a step be missing from the <a href=\"https://ruby.social/tags/phlex\" class=\"mention hashtag\">#<span>phlex</span></a> installation documented at <a href=\"https://www.phlex.fun/rails/\"><span class=\"invisible\">https://www.</span><span>phlex.fun/rails/</span><span class=\"invisible\"></span></a> ? It breaks for me when I try to run 'bin/rails generate phlex:install' ... I get the error message 'Could not find generator 'phlex:install'. Maybe you meant \"rspec:install\"?'</p>","summary":"","url":"https://ruby.social/users/MichaelT/statuses/110168420731797643","date_published":"2023-04-09T10:38:13+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-04-09 10:38","date_timestamp":1681036693,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"18050269","content_html":"<p><span class=\"h-card\"><a href=\"https://fedi.simonwillison.net/@simon\" class=\"u-url mention\">@<span>simon</span></a></span> <span class=\"h-card\"><a href=\"https://sigmoid.social/@osma\" class=\"u-url mention\">@<span>osma</span></a></span> so... \"cabal of LLMs\" is *not* on the cynical list?</p>","url":"https://ruby.social/users/MichaelT/statuses/110113045954655113","date_published":"2023-03-30T15:55:41+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-03-30 15:55","date_timestamp":1680191741,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"18032249","content_html":"<p><span class=\"h-card\"><a href=\"https://saturation.social/@clive\" class=\"u-url mention\">@<span>clive</span></a></span> This is wonderful. The indented list at the end is a great flourish, like the coda on a Romantic-era symphony!</p>","url":"https://ruby.social/users/MichaelT/statuses/110108691096973326","date_published":"2023-03-29T21:28:11+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-03-29 21:28","date_timestamp":1680125291,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"17870898","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@searls\" class=\"u-url mention\">@<span>searls</span></a></span> so I guess it’s only a problem when you are WITH the small children and pets? Sending them out on their own is okay?</p>","url":"https://ruby.social/users/MichaelT/statuses/110070120269108071","date_published":"2023-03-23T01:59:07+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-03-23 01:59","date_timestamp":1679536747,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"17858149","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> It's reassuring to know that the migration to <a href=\"https://ruby.social/tags/Phlex\" class=\"mention hashtag\">#<span>Phlex</span></a> can be gradual. I have a couple of user interfaces that I might port over to it.</p>","url":"https://ruby.social/users/MichaelT/statuses/110067771985464321","date_published":"2023-03-22T16:01:55+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-03-22 16:01","date_timestamp":1679500915,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"17858718","content_html":"<p><span class=\"h-card\"><a href=\"https://masto.ai/@parkermolloy\" class=\"u-url mention\">@<span>parkermolloy</span></a></span> ❤️</p>","url":"https://ruby.social/users/MichaelT/statuses/110067762643795017","date_published":"2023-03-22T15:59:32+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-03-22 15:59","date_timestamp":1679500772,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"17857225","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> Would it be overkill to have a specific color for booleans? In my display they look like they're the same color as strings.</p>","url":"https://ruby.social/users/MichaelT/statuses/110067659512746286","date_published":"2023-03-22T15:33:19+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-03-22 15:33","date_timestamp":1679499199,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"17744503","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@Gargron\" class=\"u-url mention\">@<span>Gargron</span></a></span> Congratulations!</p>","url":"https://ruby.social/users/MichaelT/statuses/110040552225475938","date_published":"2023-03-17T20:39:34+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-03-17 20:39","date_timestamp":1679085574,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"17688290","content_html":"<p><span class=\"h-card\"><a href=\"https://ruby.social/@joeldrapper\" class=\"u-url mention\">@<span>joeldrapper</span></a></span> I remember how pleased I was with render_async when I first added it, but I had reservations about all the AJAX. Sounds like I should check out phlex!</p>","url":"https://ruby.social/users/MichaelT/statuses/110027825965176302","date_published":"2023-03-15T14:43:07+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-03-15 14:43","date_timestamp":1678891387,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"17453834","content_html":"<p><span class=\"h-card\"><a href=\"https://chaos.social/@ScottHuehnerkrisp\" class=\"u-url mention\">@<span>ScottHuehnerkrisp</span></a></span> Es gab sie auch in den 70en...</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Fmedia_attachments%2Ffiles%2F109%2F972%2F487%2F502%2F159%2F858%2Foriginal%2F592c1fe733a2cfe0.jpg\" alt=\"Stefanie Powers and Robert Wagner, from the series Hart to Hart\" loading=\"lazy\"></p>","url":"https://ruby.social/users/MichaelT/statuses/109972490225343231","date_published":"2023-03-05T20:10:31+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-03-05 20:10","date_timestamp":1678047031,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"17358975","content_html":"<p><span class=\"h-card\"><a href=\"https://mspsocial.net/@vkc\" class=\"u-url mention\">@<span>vkc</span></a></span> I wanted a fourth option: one-handed passwords using only the vim keys!</p>","url":"https://ruby.social/users/MichaelT/statuses/109948919275463750","date_published":"2023-03-01T16:16:06+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2023-03-01 16:16","date_timestamp":1677687366,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"14088909","content_html":"<p><span class=\"h-card\"><a href=\"https://universeodon.com/@georgetakei\" class=\"u-url mention\">@<span>georgetakei</span></a></span> I am also one of many followers of <span class=\"h-card\"><a href=\"https://mastodon.social/@jeffjarvis\" class=\"u-url mention\">@<span>jeffjarvis</span></a></span> , and you should be too. DO IT!</p>","summary":"","url":"https://ruby.social/@MichaelT/109355898019538831","date_published":"2022-11-16T22:43:00+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2022-11-16 22:43","date_timestamp":1668638580,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"14088908","content_html":"<p>I AM THE THIRD FOLLOWER OF <span class=\"h-card\"><a href=\"https://universeodon.com/@georgetakei\" class=\"u-url mention\">@<span>georgetakei</span></a></span> ON HERE!</p>","summary":"","url":"https://ruby.social/@MichaelT/109355890048867285","date_published":"2022-11-16T22:40:59+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2022-11-16 22:40","date_timestamp":1668638459,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"14088907","content_html":"Likes: an EvolutionI. He joins #Mastodon , &amp; sees no #like count ... What was @Gargron THINKING?II. He begins the RTFM phase (after the fact, as is his tradition). Decides never to #like anything. This is surprisingly easy. III. He reads this: https://mindly.social/@djdellamorte/1093359... <a href=\"https://ruby.social/@MichaelT/109347606475047002\">ruby.social</a>","summary":"","url":"https://ruby.social/@MichaelT/109347606475047002","date_published":"2022-11-15T11:34:21+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2022-11-15 11:34","date_timestamp":1668512061,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"14088906","content_html":"<p>Clive Thompson on the \"antiviral\" design of Mastodon: <a href=\"https://uxdesign.cc/mastodon-is-antiviral-design-42f090ab8d51\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">uxdesign.cc/mastodon-is-antivi</span><span class=\"invisible\">ral-design-42f090ab8d51</span></a> h/t <span class=\"h-card\"><a href=\"https://ruby.social/@codefolio\" class=\"u-url mention\">@<span>codefolio</span></a></span></p>","summary":"","url":"https://ruby.social/@MichaelT/109331716047581542","date_published":"2022-11-12T16:13:13+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2022-11-12 16:13","date_timestamp":1668269593,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"14088905","content_html":"<p><a href=\"https://ruby.social/tags/caturday\" class=\"mention hashtag\">#<span>caturday</span></a> cat with bonus dog and snow, too!</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Fmedia_attachments%2Ffiles%2F109%2F331%2F302%2F433%2F051%2F352%2Foriginal%2F4d0580478ad4eb0a.jpeg\" loading=\"lazy\"></p>","summary":"","url":"https://ruby.social/@MichaelT/109331306763991902","date_published":"2022-11-12T14:29:07+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2022-11-12 14:29","date_timestamp":1668263347,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"14088904","content_html":"<p>Ich freue mich, etwas auf Deutsch zu schreiben, besonders wenn es um <a href=\"https://ruby.social/tags/programmierung\" class=\"mention hashtag\">#<span>programmierung</span></a> geht! Ich würde gerne Feedback bezüglich der Übersetzung der Dokumentation einer Rails-Anwendung: <br> <a href=\"https://radio.blurve-demo.com/demo/de/help\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">radio.blurve-demo.com/demo/de/</span><span class=\"invisible\">help</span></a> </p><p>NB: Die Übersetzung ist noch nicht fertig.</p><p class=\"microblog_hashtags\"><a href=\"https://ruby.social/tags/dokumentation\" class=\"mention hashtag\">#<span>dokumentation</span></a></p>","summary":"","url":"https://ruby.social/@MichaelT/109314012723724129","date_published":"2022-11-09T13:11:01+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2022-11-09 13:11","date_timestamp":1667999461,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"14088903","content_html":"<p>This new user thanked me yesterday! (I'm still a little starstruck.) <a href=\"https://sciencemastodon.com/@elizkolbert/109309650101946551\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">sciencemastodon.com/@elizkolbe</span><span class=\"invisible\">rt/109309650101946551</span></a></p>","summary":"","url":"https://ruby.social/@MichaelT/109309662134376417","date_published":"2022-11-08T18:44:37+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2022-11-08 18:44","date_timestamp":1667933077,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"14088902","content_html":"<p>Igor Levit (German pianist) on his imminent departure from Twitter: </p><p><a href=\"https://twitter.com/igorpianist/status/1589618904418377731?s=20&amp;t=XwiFrAVK7VIPM6JYt7-6Wg\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">twitter.com/igorpianist/status</span><span class=\"invisible\">/1589618904418377731?s=20&amp;t=XwiFrAVK7VIPM6JYt7-6Wg</span></a></p>","summary":"","url":"https://ruby.social/@MichaelT/109303531549459341","date_published":"2022-11-07T16:45:31+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2022-11-07 16:45","date_timestamp":1667839531,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"14088901","content_html":"<p><a href=\"https://ruby.social/tags/mood\" class=\"mention hashtag\">#<span>mood</span></a> is conflicted. Bail from the bird completely? Advertising like this may help seal the deal.</p>","summary":"","url":"https://ruby.social/@MichaelT/109299435994469389","date_published":"2022-11-06T23:23:58+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2022-11-06 23:23","date_timestamp":1667777038,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"14088900","content_html":"Hi! I'm Michael, pronouns he/him, and I have worked in radio for most of my career.As an #introduction, I'll first admit I'm part of the #TwitterMigration (though I still have a login there).The non-radio phase of my career was in software development, in the late 90s/early 2000s. Ever ... <a href=\"https://ruby.social/@MichaelT/109291341058461531\">ruby.social</a>","summary":"","url":"https://ruby.social/@MichaelT/109291341058461531","date_published":"2022-11-05T13:05:19+00:00","author":{"name":"Michael Toulouse","url":"https://ruby.social/@MichaelT","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Frubysocial%2Faccounts%2Favatars%2F109%2F291%2F055%2F248%2F202%2F134%2Foriginal%2Ff507e7ecbf3f4fd1.jpeg","_microblog":{"username":"MichaelT@ruby.social"}},"_microblog":{"date_relative":"2022-11-05 13:05","date_timestamp":1667653519,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}}]}