{"generator":"Jekyll","link":[{"@attributes":{"href":"https:\/\/byroot.github.io\/feed.xml","rel":"self","type":"application\/atom+xml"}},{"@attributes":{"href":"https:\/\/byroot.github.io\/","rel":"alternate","type":"text\/html"}}],"updated":"2026-08-07T07:17:53+00:00","id":"https:\/\/byroot.github.io\/feed.xml","title":"byroot\u2019s blog","subtitle":"Various ramblings.","entry":[{"title":"Shrinking Ruby Hashes","link":{"@attributes":{"href":"https:\/\/byroot.github.io\/ruby\/performance\/2026\/08\/05\/shrinking-ruby-hashes.html","rel":"alternate","type":"text\/html","title":"Shrinking Ruby Hashes"}},"published":"2026-08-05T06:28:51+00:00","updated":"2026-08-05T06:28:51+00:00","id":"https:\/\/byroot.github.io\/ruby\/performance\/2026\/08\/05\/shrinking-ruby-hashes","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"category":[{"@attributes":{"term":"ruby"}},{"@attributes":{"term":"performance"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Optimizing Ruby\u2019s JSON, Part 8","link":{"@attributes":{"href":"https:\/\/byroot.github.io\/ruby\/json\/2026\/07\/26\/optimizing-ruby-json-part-8.html","rel":"alternate","type":"text\/html","title":"Optimizing Ruby\u2019s JSON, Part 8"}},"published":"2026-07-26T08:28:51+00:00","updated":"2026-07-26T08:28:51+00:00","id":"https:\/\/byroot.github.io\/ruby\/json\/2026\/07\/26\/optimizing-ruby-json-part-8","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"category":[{"@attributes":{"term":"ruby"}},{"@attributes":{"term":"json"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"The Missing Bundler Features","link":{"@attributes":{"href":"https:\/\/byroot.github.io\/ruby\/bundler\/2026\/04\/20\/bundle-features.html","rel":"alternate","type":"text\/html","title":"The Missing Bundler Features"}},"published":"2026-04-20T00:03:51+00:00","updated":"2026-04-20T00:03:51+00:00","id":"https:\/\/byroot.github.io\/ruby\/bundler\/2026\/04\/20\/bundle-features","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"category":[{"@attributes":{"term":"ruby"}},{"@attributes":{"term":"bundler"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Optimizing Ruby Path Methods","link":{"@attributes":{"href":"https:\/\/byroot.github.io\/ruby\/performance\/2026\/04\/18\/faster-paths.html","rel":"alternate","type":"text\/html","title":"Optimizing Ruby Path Methods"}},"published":"2026-04-18T12:03:51+00:00","updated":"2026-04-18T12:03:51+00:00","id":"https:\/\/byroot.github.io\/ruby\/performance\/2026\/04\/18\/faster-paths","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"category":[{"@attributes":{"term":"ruby"}},{"@attributes":{"term":"performance"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Frozen String Literals: Past, Present, Future?","link":{"@attributes":{"href":"https:\/\/byroot.github.io\/ruby\/performance\/2025\/10\/28\/string-literals.html","rel":"alternate","type":"text\/html","title":"Frozen String Literals: Past, Present, Future?"}},"published":"2025-10-28T08:03:51+00:00","updated":"2025-10-28T08:03:51+00:00","id":"https:\/\/byroot.github.io\/ruby\/performance\/2025\/10\/28\/string-literals","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"category":[{"@attributes":{"term":"ruby"}},{"@attributes":{"term":"performance"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Dear Rubyists: Shopify Isn\u2019t Your Enemy","link":{"@attributes":{"href":"https:\/\/byroot.github.io\/opensource\/ruby\/2025\/10\/09\/dear-rubyists.html","rel":"alternate","type":"text\/html","title":"Dear Rubyists: Shopify Isn\u2019t Your Enemy"}},"published":"2025-10-09T05:03:51+00:00","updated":"2025-10-09T05:03:51+00:00","id":"https:\/\/byroot.github.io\/opensource\/ruby\/2025\/10\/09\/dear-rubyists","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"category":[{"@attributes":{"term":"opensource"}},{"@attributes":{"term":"ruby"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Unlocking Ractors: generic instance variables","link":{"@attributes":{"href":"https:\/\/byroot.github.io\/ruby\/performance\/2025\/08\/11\/unlocking-ractors-generic-variables.html","rel":"alternate","type":"text\/html","title":"Unlocking Ractors: generic instance variables"}},"published":"2025-08-11T09:03:51+00:00","updated":"2025-08-11T09:03:51+00:00","id":"https:\/\/byroot.github.io\/ruby\/performance\/2025\/08\/11\/unlocking-ractors-generic-variables","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"category":[{"@attributes":{"term":"ruby"}},{"@attributes":{"term":"performance"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"What\u2019s wrong with the JSON gem API?","link":{"@attributes":{"href":"https:\/\/byroot.github.io\/ruby\/json\/2025\/08\/02\/whats-wrong-with-the-json-gem-api.html","rel":"alternate","type":"text\/html","title":"What\u2019s wrong with the JSON gem API?"}},"published":"2025-08-02T09:03:51+00:00","updated":"2025-08-02T09:03:51+00:00","id":"https:\/\/byroot.github.io\/ruby\/json\/2025\/08\/02\/whats-wrong-with-the-json-gem-api","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"category":[{"@attributes":{"term":"ruby"}},{"@attributes":{"term":"json"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Unlocking Ractors: class instance variables","link":{"@attributes":{"href":"https:\/\/byroot.github.io\/ruby\/performance\/2025\/05\/24\/unlocking-ractors-class-variables.html","rel":"alternate","type":"text\/html","title":"Unlocking Ractors: class instance variables"}},"published":"2025-05-24T09:03:51+00:00","updated":"2025-05-24T09:03:51+00:00","id":"https:\/\/byroot.github.io\/ruby\/performance\/2025\/05\/24\/unlocking-ractors-class-variables","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"category":[{"@attributes":{"term":"ruby"}},{"@attributes":{"term":"performance"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Unlocking Ractors: object_id","link":{"@attributes":{"href":"https:\/\/byroot.github.io\/ruby\/performance\/2025\/04\/26\/unlocking-ractors-object-id.html","rel":"alternate","type":"text\/html","title":"Unlocking Ractors: object_id"}},"published":"2025-04-26T10:03:51+00:00","updated":"2025-04-26T10:03:51+00:00","id":"https:\/\/byroot.github.io\/ruby\/performance\/2025\/04\/26\/unlocking-ractors-object-id","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"category":[{"@attributes":{"term":"ruby"}},{"@attributes":{"term":"performance"}}],"summary":{"@attributes":{"type":"html"}}}]}