<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: tenderlove</title><link>https://news.ycombinator.com/user?id=tenderlove</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 02:16:45 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=tenderlove" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by tenderlove in "Cooldown Support for Ruby Bundler"]]></title><description><![CDATA[
<p>RubyGems.org backfilled older releases with `created_at` fields, so theoretically you could still do the cooldown with very old gems (though I don't know why you would). It's only private / alternative gem servers that may not provide `created_at` fields.</p>
]]></description><pubDate>Fri, 05 Jun 2026 19:12:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48416891</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=48416891</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48416891</guid></item><item><title><![CDATA[A new register allocator for ZJIT]]></title><description><![CDATA[
<p>Article URL: <a href="https://railsatscale.com/2026-05-27-a-new-register-allocator-for-zjit/">https://railsatscale.com/2026-05-27-a-new-register-allocator-for-zjit/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48296946">https://news.ycombinator.com/item?id=48296946</a></p>
<p>Points: 55</p>
<p># Comments: 6</p>
]]></description><pubDate>Wed, 27 May 2026 16:50:10 +0000</pubDate><link>https://railsatscale.com/2026-05-27-a-new-register-allocator-for-zjit/</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=48296946</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48296946</guid></item><item><title><![CDATA[New comment by tenderlove in "Gem.coop"]]></title><description><![CDATA[
<p>This absolutely happened and is not speculation. I can't find the emails from the individuals that emailed me, but I did find my email to the board of directors asking that the website language be changed because people had pinged me thinking I would be getting money, or that the money would go to fund rubygems.org.<p>At the time I'd sent the email I was unaware Ruby Together was on HN front page (and that's why people were pinging me)</p>
]]></description><pubDate>Mon, 06 Oct 2025 20:22:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=45495892</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=45495892</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45495892</guid></item><item><title><![CDATA[New comment by tenderlove in "Apple Photos app corrupts images"]]></title><description><![CDATA[
<p>As I said in my blog post, it imports both and combines them in the UI.  Also as I said in my blog post, I switched to shooting only in raw, and it still exhibited file corruption.</p>
]]></description><pubDate>Wed, 17 Sep 2025 12:54:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=45275272</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=45275272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45275272</guid></item><item><title><![CDATA[New comment by tenderlove in "Apple Photos app corrupts images"]]></title><description><![CDATA[
<p>> That's a mistake no mater what application you're importing to, else we'll be graced with another blog post, "Darktable app Corrupts Photos"<p>Thanks dad.</p>
]]></description><pubDate>Wed, 17 Sep 2025 12:52:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=45275256</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=45275256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45275256</guid></item><item><title><![CDATA[New comment by tenderlove in "Apple Photos app corrupts images"]]></title><description><![CDATA[
<p>This is also my guess. It's really a bummer, and I'd report it to Apple but since it's nondeterministic I have no idea how to provide repro steps.</p>
]]></description><pubDate>Wed, 17 Sep 2025 12:08:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=45274840</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=45274840</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45274840</guid></item><item><title><![CDATA[New comment by tenderlove in "Apple Photos app corrupts images"]]></title><description><![CDATA[
<p>Here you go!<p><pre><code>  https://gist.github.com/tenderlove/25853f50ab46a58738ff2cc22d682f2b
</code></pre>
I ran both files through xxd then diffed them.  I've literally changed every piece of hardware (at no small cost).  "premature to immediately blame Apple" seems a bit off.</p>
]]></description><pubDate>Wed, 17 Sep 2025 12:03:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=45274786</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=45274786</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45274786</guid></item><item><title><![CDATA[New comment by tenderlove in "Fast Allocations in Ruby 3.5"]]></title><description><![CDATA[
<p>Thank you! Wish it had panned out for Class#new, but I don't feel bad about doing it. :)</p>
]]></description><pubDate>Fri, 23 May 2025 05:02:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=44069998</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=44069998</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44069998</guid></item><item><title><![CDATA[New comment by tenderlove in "Fast Allocations in Ruby 3.5"]]></title><description><![CDATA[
<p>> Yes, but if it ends up creating any ephemeral objects in the process of determining those returned objects, then the allocation sequence is still not homogeneous.<p>Yes! People might do `map` transformations, but it's very common to do other stuff at the same time. Any other allocations during that transformation would ruin cache hit rate.<p>> At the same time, the callsite for any given `.new()` invocation will almost always be creating an instance of the exact same class. The target expression is nearly always just a constant name. That makes it a prime candidate for good inline caching at those callsites.<p>Yes again!</p>
]]></description><pubDate>Thu, 22 May 2025 21:56:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=44067578</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=44067578</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44067578</guid></item><item><title><![CDATA[New comment by tenderlove in "Fast Allocations in Ruby 3.5"]]></title><description><![CDATA[
<p>One reason is that we think we can make better use of registers. Since LBBV doesn't "see" all blocks in a particular method all at once, it's much more challenging to optimize register use across basic blocks.  We've added type profiling, so ZJIT can "learn" types from the runtime.</p>
]]></description><pubDate>Thu, 22 May 2025 17:30:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=44064407</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=44064407</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44064407</guid></item><item><title><![CDATA[New comment by tenderlove in "Fast Allocations in Ruby 3.5"]]></title><description><![CDATA[
<p>It's not being abandoned, we're just shifting focus to evaluate a new style of compiler.  YJIT will still get bug fixes and performance improvements.<p>ZJIT is a method based JIT (the type of compiler traditionally taught in schools) where YJIT is a lazy basic block versioning (LBBV) compiler.  We're using what we learned developing and deploying YJIT to build an even better JIT compiler.  IOW we're going to fold some of YJIT's techniques in to ZJIT.<p>> And if so, will these YJIT features likes Fast Allocations be brought to ZJIT?<p>It may not have been clear from the post, but this fast allocation strategy is actually implemented in the byte code interpreter. You will get a speedup without using any JIT compiler. We've already ported this fast-path to YJIT and are in the midst of implementing it in ZJIT.</p>
]]></description><pubDate>Thu, 22 May 2025 16:07:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=44063433</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=44063433</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44063433</guid></item><item><title><![CDATA[New comment by tenderlove in "RubyUI (Former PhlexUI): Ruby Gem for RubyUI Components"]]></title><description><![CDATA[
<p>It says on the website it's 12x faster so it must be true!<p><a href="https://rubyui.com" rel="nofollow">https://rubyui.com</a></p>
]]></description><pubDate>Tue, 01 Apr 2025 20:36:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=43551073</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=43551073</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43551073</guid></item><item><title><![CDATA[New comment by tenderlove in "Tiny JITs for a Faster FFI"]]></title><description><![CDATA[
<p>libffi can't know how to unwrap Ruby types (since it doesn't know what Ruby is). The advantage presented in this post is that the code for type unboxing is basically "cached" in the generated machine code based on the information the user passes when calling `attach_function`.</p>
]]></description><pubDate>Wed, 12 Feb 2025 23:54:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=43031109</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=43031109</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43031109</guid></item><item><title><![CDATA[New comment by tenderlove in "Tiny JITs for a Faster FFI"]]></title><description><![CDATA[
<p>I think tenderworks wrote this post.</p>
]]></description><pubDate>Wed, 12 Feb 2025 23:34:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=43030953</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=43030953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43030953</guid></item><item><title><![CDATA[Optimizing Ruby's JSON, Part 5]]></title><description><![CDATA[
<p>Article URL: <a href="https://byroot.github.io/ruby/json/2025/01/04/optimizing-ruby-json-part-5.html">https://byroot.github.io/ruby/json/2025/01/04/optimizing-ruby-json-part-5.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42598120">https://news.ycombinator.com/item?id=42598120</a></p>
<p>Points: 7</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 04 Jan 2025 22:23:55 +0000</pubDate><link>https://byroot.github.io/ruby/json/2025/01/04/optimizing-ruby-json-part-5.html</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=42598120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42598120</guid></item><item><title><![CDATA[New comment by tenderlove in "Useless Ruby sugar: Pattern matching"]]></title><description><![CDATA[
<p>Thank you!<p>Ya, I really enjoy pattern matching.  I think new language features just take a long time to percolate through the community.  I remember when `->` was controversial, but that's the only way I write lambdas today. :D</p>
]]></description><pubDate>Fri, 20 Oct 2023 21:42:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=37961887</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=37961887</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37961887</guid></item><item><title><![CDATA[New comment by tenderlove in "Useless Ruby sugar: Pattern matching"]]></title><description><![CDATA[
<p>I didn't know it was controversial either! D:</p>
]]></description><pubDate>Fri, 20 Oct 2023 19:03:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=37960109</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=37960109</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37960109</guid></item><item><title><![CDATA[New comment by tenderlove in "Rails 7.1 Released"]]></title><description><![CDATA[
<p>This is great to hear. <3</p>
]]></description><pubDate>Fri, 06 Oct 2023 07:13:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=37787971</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=37787971</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37787971</guid></item><item><title><![CDATA[The looming demise of the 10x developer]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.testdouble.com/posts/2023-07-12-the-looming-demise-of-the-10x-developer/">https://blog.testdouble.com/posts/2023-07-12-the-looming-demise-of-the-10x-developer/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36701267">https://news.ycombinator.com/item?id=36701267</a></p>
<p>Points: 13</p>
<p># Comments: 2</p>
]]></description><pubDate>Wed, 12 Jul 2023 20:34:40 +0000</pubDate><link>https://blog.testdouble.com/posts/2023-07-12-the-looming-demise-of-the-10x-developer/</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=36701267</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36701267</guid></item><item><title><![CDATA[New comment by tenderlove in "Ruby Hacking Guide (2004)"]]></title><description><![CDATA[
<p>While RUM is out of date, I still think it's an excellent resource.  Some of the information in the book may be out of date, but I think it's an excellent place to start when you want to jump in to Ruby's source.  Basically, after reading RUM the best place to go is to start reading the source.<p>That said, it would be really great if Pat (or someone besides me) published an update version of RUM</p>
]]></description><pubDate>Thu, 22 Jun 2023 15:43:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=36433930</link><dc:creator>tenderlove</dc:creator><comments>https://news.ycombinator.com/item?id=36433930</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36433930</guid></item></channel></rss>