{"version":"https://jsonfeed.org/version/1","title":"Micro.blog - JP Camara","home_page_url":"https://micro.blog","feed_url":"https://micro.blog/posts/jpcamara","_microblog":{"about":"https://micro.blog/about/api","id":"1336079","username":"jpcamara","bio":"Principal software engineer at @Wealthbox. Husband/Father. Health, travel, and tech enthusiast. Believes that you can do it :D\n","pronouns":"","is_following":false,"is_you":false,"following_count":7,"discover_count":0},"author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://avatars.micro.blog/avatars/2023/05/1336079.jpg"},"items":[{"id":"81010098","content_html":"<p>When good threads go bad: <a href=\"https://jpcamara.com/2025/12/30/when-good-threads-go-bad.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2025/12/30/when-good-threads-go-bad.html","date_published":"2025-12-30T16:20:16+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2025-12-30 16:20","date_timestamp":1767111616,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"76343553","content_html":"<p>Bitmasks, Ruby Threads and Interrupts, oh my! <a href=\"https://jpcamara.com/2025/10/22/bitmasks-threads-and-interrupts-concurrent.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2025/10/22/bitmasks-threads-and-interrupts-concurrent.html","date_published":"2025-10-22T06:12:16+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2025-10-22 06:12","date_timestamp":1761113536,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"81083180","content_html":"<p>Bitmasks, Ruby Threads and Interrupts, oh my! <a href=\"https://jpcamara.com/2025/10/22/bitmasks-ruby-threads-and-interrupts.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2025/10/22/bitmasks-ruby-threads-and-interrupts.html","date_published":"2025-10-22T05:12:00+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2025-10-22 05:12","date_timestamp":1761109920,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"81083706","content_html":"<p>Bitmasks, Ruby Threads and Interrupts, oh my! <a href=\"https://jpcamara.com/2025/10/21/bitmasks-threads-and-interrupts.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2025/10/21/bitmasks-threads-and-interrupts.html","date_published":"2025-10-22T04:12:00+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2025-10-22 04:12","date_timestamp":1761106320,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"70394673","content_html":"<p><a href=\"https://micro.blog/manton\">@manton</a> that’s really encouraging! I loved the originals and I was worried Liam neeson wasn’t going to be a good fit</p>\n","url":"https://micro.blog/jpcamara/70394673","date_published":"2025-08-03T01:01:11+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2025-08-03 01:01","date_timestamp":1754182871,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"70348956","content_html":"<p>The /o in Ruby regex stands for “oh the humanity!”: <a href=\"https://jpcamara.com/2025/08/02/the-o-in-ruby-regex.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2025/08/02/the-o-in-ruby-regex.html","date_published":"2025-08-02T05:16:06+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2025-08-02 05:16","date_timestamp":1754111766,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"57192322","content_html":"<p>Irregular Expressions: <a href=\"https://logicalconclusionscomic.com/2025/02/06/irregular-expressions.html\">logicalconclusionscomic.com</a></p>","summary":"","url":"https://logicalconclusionscomic.com/2025/02/06/irregular-expressions.html","date_published":"2025-02-10T02:46:11+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2025-02-10 02:46","date_timestamp":1739155571,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"54440036","content_html":"<p>A silly optimization: adding opt_respond_to to the Ruby VM, part 6: <a href=\"https://jpcamara.com/2025/01/04/a-silly-optimization-adding-optrespondto.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2025/01/04/a-silly-optimization-adding-optrespondto.html","date_published":"2025-01-07T04:34:49+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2025-01-07 04:34","date_timestamp":1736224489,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"53873333","content_html":"<p>Defining an instruction: adding opt_respond_to to the Ruby VM, part 5: <a href=\"https://jpcamara.com/2024/12/30/defining-an-instruction-adding-optrespondto.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/12/30/defining-an-instruction-adding-optrespondto.html","date_published":"2025-01-01T03:43:30+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2025-01-01 03:43","date_timestamp":1735703010,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"53482795","content_html":"<p>Peephole optimizations: adding `opt_respond_to` to the Ruby VM, part 4: <a href=\"https://jpcamara.com/2024/12/27/peephole-optimizations-adding-optrespondto-to.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/12/27/peephole-optimizations-adding-optrespondto-to.html","date_published":"2024-12-28T04:36:19+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-12-28 04:36","date_timestamp":1735360579,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"53303028","content_html":"<p>The Ruby Syntax Holy Grail: adding `opt_respond_to` to the Ruby VM, part 3: <a href=\"https://jpcamara.com/2024/12/25/the-ruby-syntax-holy-grail.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/12/25/the-ruby-syntax-holy-grail.html","date_published":"2024-12-26T04:37:06+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-12-26 04:37","date_timestamp":1735187826,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"53024453","content_html":"<p>Finding the compiler: adding `opt_respond_to` to the Ruby VM, part 2: <a href=\"https://jpcamara.com/2024/12/22/finding-the-compiler.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/12/22/finding-the-compiler.html","date_published":"2024-12-23T05:41:51+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-12-23 05:41","date_timestamp":1734932511,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"52937031","content_html":"<p>Adding `opt_respond_to` to the Ruby VM: part 1: <a href=\"https://jpcamara.com/2024/12/22/adding-optrespondto-to.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/12/22/adding-optrespondto-to.html","date_published":"2024-12-22T06:22:24+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-12-22 06:22","date_timestamp":1734848544,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"52418814","content_html":"<p>20 days of ruby gems: part 1: <a href=\"https://jpcamara.com/2024/12/16/days-of-ruby.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/12/16/days-of-ruby.html","date_published":"2024-12-17T01:12:46+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-12-17 01:12","date_timestamp":1734397966,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"52234747","content_html":"<p>My RubyConf talk is now on YouTube! <a href=\"https://jpcamara.com/2024/12/14/my-rubyconf-talk.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/12/14/my-rubyconf-talk.html","date_published":"2024-12-15T03:40:45+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-12-15 03:40","date_timestamp":1734234045,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"51989471","content_html":"<p>Python Nom Nom: <a href=\"https://logicalconclusionscomic.com/2024/12/12/python-nom-nom.html\">logicalconclusionscomic.com</a></p>","summary":"","url":"https://logicalconclusionscomic.com/2024/12/12/python-nom-nom.html","date_published":"2024-12-12T14:42:41+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-12-12 14:42","date_timestamp":1734014561,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"51160121","content_html":"<p>Speeding up Ruby by rewriting C… in Ruby: <a href=\"https://jpcamara.com/2024/12/01/speeding-up-ruby.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/12/01/speeding-up-ruby.html","date_published":"2024-12-04T05:29:25+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-12-04 05:29","date_timestamp":1733290165,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"51051188","content_html":"<p>My MacOS setup for hacking on CRuby: <a href=\"https://jpcamara.com/2024/12/02/my-macos-setup.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/12/02/my-macos-setup.html","date_published":"2024-12-03T03:59:05+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-12-03 03:59","date_timestamp":1733198345,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"50648221","content_html":"<p>Counting C method calls in CRuby: <a href=\"https://jpcamara.com/2024/11/28/counting-c-method.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/11/28/counting-c-method.html","date_published":"2024-11-28T11:30:00+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-11-28 11:30","date_timestamp":1732793400,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"50561173","content_html":"<p>My docker setup for hacking on CRuby: <a href=\"https://jpcamara.com/2024/11/27/my-docker-setup.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/11/27/my-docker-setup.html","date_published":"2024-11-27T11:43:15+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-11-27 11:43","date_timestamp":1732707795,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"50534543","content_html":"<p>Calculating the largest known prime in Ruby: <a href=\"https://jpcamara.com/2024/11/26/looking-to-impress.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/11/26/looking-to-impress.html","date_published":"2024-11-27T02:53:43+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-11-27 02:53","date_timestamp":1732676023,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"47156839","content_html":"<p><a href=\"https://micro.blog/manton\">@manton</a> thanks!</p>\n","url":"https://micro.blog/jpcamara/47156839","date_published":"2024-10-09T16:15:04+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-10-09 16:15","date_timestamp":1728490504,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"47144536","content_html":"<p><a href=\"https://micro.blog/manton\">@manton</a> I posted a comic about AI power consumption then read this article later that day lol. Art imitating life? 😂</p>\n<p><a href=\"https://logicalconclusionscomic.com/2024/09/23/daison-sphere.html\">logicalconclusionscomic.com/2024/09/2…</a>​</p>\n","url":"https://micro.blog/jpcamara/47144536","date_published":"2024-10-09T13:20:33+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-10-09 13:20","date_timestamp":1728480033,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"46096139","content_html":"<p>D-AI-son Sphere: <a href=\"https://logicalconclusionscomic.com/2024/09/23/daison-sphere.html\">logicalconclusionscomic.com</a></p>","summary":"","url":"https://logicalconclusionscomic.com/2024/09/23/daison-sphere.html","date_published":"2024-09-23T21:19:14+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-09-23 21:19","date_timestamp":1727126354,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"46066201","content_html":"<p><a href=\"https://micro.blog/manton\">@manton</a> I’ve been really happy with micro.blog as my hosting! I found it through Ulysses, and the ease of writing in Ulysses and publishing to micro.blog is fantastic. Just upgraded to $10 to host a second site on it, after evaluating a bunch of other options and missing the micro.blog simplicity</p>\n","url":"https://micro.blog/jpcamara/46066201","date_published":"2024-09-23T13:20:02+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-09-23 13:20","date_timestamp":1727097602,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"45380350","content_html":"<p>I'll use threads!</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Flogicalconclusions.micro.blog%2Fuploads%2F2024%2Fcomic.png\" width=\"600\" height=\"1242\" alt=\"\" loading=\"lazy\">\n</p>","summary":"","url":"https://logicalconclusionscomic.com/2024/09/12/ill-use-threads.html","date_published":"2024-09-12T22:14:29+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-09-12 22:14","date_timestamp":1726179269,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"44257895","content_html":"<p>The Thread API : Concurrent, colorless Ruby: <a href=\"https://jpcamara.com/2024/08/26/the-thread-api.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/08/26/the-thread-api.html","date_published":"2024-08-26T23:59:48+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-08-26 23:59","date_timestamp":1724716788,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"81152449","content_html":"<p>The Thread API : Concurrent, colorless Ruby: <a href=\"https://jpcamara.com/2024/08/26/the-thread-api-concurrent-colorless.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/08/26/the-thread-api-concurrent-colorless.html","date_published":"2024-08-26T22:59:00+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-08-26 22:59","date_timestamp":1724713140,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"41660907","content_html":"<p>Ruby methods are colorless: <a href=\"https://jpcamara.com/2024/07/15/ruby-methods-are.html\">jpcamara.com</a></p>","summary":"","url":"https://jpcamara.com/2024/07/15/ruby-methods-are.html","date_published":"2024-07-17T01:25:35+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2024-07-17 01:25","date_timestamp":1721179535,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":true,"is_mention":false,"note":"","syndication":[]}},{"id":"16655785","content_html":"<p><a href=\"https://micro.blog/wildergods\">@wildergods</a> thaaaaanks</p>\n","url":"https://micro.blog/jpcamara/16655785","date_published":"2023-02-09T23:42:00+00:00","author":{"name":"JP Camara","url":"https://jpcamara.com","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F05%2F1336079.jpg","_microblog":{"username":"jpcamara"}},"_microblog":{"date_relative":"2023-02-09 23:42","date_timestamp":1675986120,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}}]}