corpus.blog
Most cited
Talked about
Blogs
56,966 blogs · [ { "id": "01a08752-1bbe-70c4-9660-4011f12a77ce", "title": "ZJIT 🤝 GC: Inlining GC Fastpath in ZJIT", "url": "https://blog.peterzhu.ca/zjit-gc-fastpath/", "published_at": "2026-09-01T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f1e8378a", "title": "Open Source is the Most Fragile and Most Resilient Ecosystem", "url": "https://blog.peterzhu.ca/open-source-is-the-most-fragile-and-resilient-ecosystem/", "published_at": "2025-10-18T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f282d839", "title": "Reworking Memory Management in CRuby", "url": "https://blog.peterzhu.ca/reworking-memory-management-in-cruby/", "published_at": "2025-09-16T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f32d79d4", "title": "Implementing Embedded TypedData Objects", "url": "https://blog.peterzhu.ca/implementing-embedded-typeddata-objects/", "published_at": "2025-06-03T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f3f73a9f", "title": "Finding Memory Leaks in the Ruby Ecosystem", "url": "https://blog.peterzhu.ca/finding-memory-leaks-in-the-ruby-ecosystem/", "published_at": "2024-07-09T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f45fbfef", "title": "Autotuner: How to Speed Up Your Rails App", "url": "https://blog.peterzhu.ca/autotuner/", "published_at": "2024-04-24T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f49c9df8", "title": "A Rubyist’s Walk Along the C-side (Part 11): Debugging", "url": "https://blog.peterzhu.ca/ruby-c-ext-part-11/", "published_at": "2023-11-04T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f49fe03e", "title": "Two Garbage Collection Improvements Made Our Storefronts 8% Faster", "url": "https://blog.peterzhu.ca/two-garbage-collection-improvements-made-our-storefronts-8-faster/", "published_at": "2023-08-08T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f5064783", "title": "Garbage Collection in Ruby", "url": "https://blog.peterzhu.ca/notes-on-ruby-gc/", "published_at": "2023-07-03T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f5947674", "title": "Open Sourcing Shopify’s Ruby Builds", "url": "https://blog.peterzhu.ca/open-sourcing-shopifys-ruby-builds/", "published_at": "2023-06-16T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f668a6a9", "title": "A Rubyist’s Walk Along the C-side (Part 10): Benchmarking", "url": "https://blog.peterzhu.ca/ruby-c-ext-part-10/", "published_at": "2023-04-08T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f6e1d73c", "title": "Optimizing Ruby’s Memory Layout: Variable Width Allocation", "url": "https://blog.peterzhu.ca/variable-width-allocation/", "published_at": "2022-12-25T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f7692123", "title": "A Rubyist’s Walk Along the C-side (Part 9): Circular Buffer Project", "url": "https://blog.peterzhu.ca/ruby-c-ext-part-9/", "published_at": "2022-10-07T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f817bd11", "title": "A Rubyist’s Walk Along the C-side (Part 8): Exceptions & Error Handling", "url": "https://blog.peterzhu.ca/ruby-c-ext-part-8/", "published_at": "2022-03-29T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f8458c8c", "title": "rb_gc_force_recycle is Deprecated in Ruby 3.1", "url": "https://blog.peterzhu.ca/rb_gc_force_recycle-deprecation/", "published_at": "2021-12-14T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f8651260", "title": "A Rubyist’s Walk Along the C-side (Part 7): TypedData Objects", "url": "https://blog.peterzhu.ca/ruby-c-ext-part-7/", "published_at": "2021-12-03T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f87b72b5", "title": "How ruby_memcheck Finds Memory Leaks in Native Gems", "url": "https://blog.peterzhu.ca/ruby-memcheck/", "published_at": "2021-11-05T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f96918b2", "title": "To Free or Not to Free: A Story About a Memory Leak in Strings", "url": "https://blog.peterzhu.ca/ruby-str-mem-leak/", "published_at": "2021-09-10T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f9baf74f", "title": "A Rubyist’s Walk Along the C-side (Part 6): Classes & Object Oriented Programming", "url": "https://blog.peterzhu.ca/ruby-c-ext-part-6/", "published_at": "2021-07-25T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011f9d67df0", "title": "A Rubyist’s Walk Along the C-side (Part 5): Variables", "url": "https://blog.peterzhu.ca/ruby-c-ext-part-5/", "published_at": "2021-07-08T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011faa8d3b4", "title": "A Rubyist’s Walk Along the C-side (Part 4): Primitive Data Types", "url": "https://blog.peterzhu.ca/ruby-c-ext-part-4/", "published_at": "2021-06-05T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011fb97d49f", "title": "A Rubyist’s Walk Along the C-side (Part 3): Calling Methods", "url": "https://blog.peterzhu.ca/ruby-c-ext-part-3/", "published_at": "2021-04-28T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011fbfaa6a8", "title": "A Rubyist’s Walk Along the C-side (Part 2): Defining Methods", "url": "https://blog.peterzhu.ca/ruby-c-ext-part-2/", "published_at": "2021-04-08T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011fc59feb0", "title": "A Rubyist’s Walk Along the C-side (Part 1): Hello World!", "url": "https://blog.peterzhu.ca/ruby-c-ext-part-1/", "published_at": "2021-03-25T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011fd14e189", "title": "A Rubyist’s Walk Along the C-side", "url": "https://blog.peterzhu.ca/ruby-c-ext/", "published_at": "2021-03-20T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011fdddf98f", "title": "1.5 is the Midpoint Between 0 and Infinity in Ruby", "url": "https://blog.peterzhu.ca/ruby-range-bsearch/", "published_at": "2020-11-26T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011fec553ef", "title": "The Ruby Inplace Bug", "url": "https://blog.peterzhu.ca/ruby-inplace-bug/", "published_at": "2020-11-20T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011fed293e7", "title": "Creating Ruby Strings in C", "url": "https://blog.peterzhu.ca/creating-ruby-strings-c/", "published_at": "2020-11-04T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011ff31d846", "title": "Garbage Collection in Ruby 3.0", "url": "https://blog.peterzhu.ca/notes-on-ruby-gc-3-0/", "published_at": "2020-08-24T00:00:00+00:00" }, { "id": "01a08752-1bbe-70c4-9660-4011ffefb17d", "title": "Tips and tricks in MRI Ruby development", "url": "https://blog.peterzhu.ca/notes-on-ruby-development/", "published_at": "2020-08-21T00:00:00+00:00" } ] posts
Claim your blog
Back to blog.peterzhu.ca
Blog · corpus.blog/blogs/blog.peterzhu.ca/posts
blog.peterzhu.ca
blog.peterzhu.ca
2026
ZJIT 🤝 GC: Inlining GC Fastpath in ZJIT
original ↗
1 Sept 2026
2025
Open Source is the Most Fragile and Most Resilient Ecosystem
original ↗
18 Oct 2025
Reworking Memory Management in CRuby
original ↗
16 Sept 2025
Implementing Embedded TypedData Objects
original ↗
3 Jun 2025
2024
Finding Memory Leaks in the Ruby Ecosystem
original ↗
9 Jul 2024
Autotuner: How to Speed Up Your Rails App
original ↗
24 Apr 2024
2023
A Rubyist’s Walk Along the C-side (Part 11): Debugging
original ↗
4 Nov 2023
Two Garbage Collection Improvements Made Our Storefronts 8% Faster
original ↗
8 Aug 2023
Garbage Collection in Ruby
original ↗
3 Jul 2023
Open Sourcing Shopify’s Ruby Builds
original ↗
16 Jun 2023
A Rubyist’s Walk Along the C-side (Part 10): Benchmarking
original ↗
8 Apr 2023
2022
Optimizing Ruby’s Memory Layout: Variable Width Allocation
original ↗
25 Dec 2022
A Rubyist’s Walk Along the C-side (Part 9): Circular Buffer Project
original ↗
7 Oct 2022
A Rubyist’s Walk Along the C-side (Part 8): Exceptions & Error Handling
original ↗
29 Mar 2022
2021
rb_gc_force_recycle is Deprecated in Ruby 3.1
original ↗
14 Dec 2021
A Rubyist’s Walk Along the C-side (Part 7): TypedData Objects
original ↗
3 Dec 2021
How ruby_memcheck Finds Memory Leaks in Native Gems
original ↗
5 Nov 2021
To Free or Not to Free: A Story About a Memory Leak in Strings
original ↗
10 Sept 2021
A Rubyist’s Walk Along the C-side (Part 6): Classes & Object Oriented Programming
original ↗
25 Jul 2021
A Rubyist’s Walk Along the C-side (Part 5): Variables
original ↗
8 Jul 2021
A Rubyist’s Walk Along the C-side (Part 4): Primitive Data Types
original ↗
5 Jun 2021
A Rubyist’s Walk Along the C-side (Part 3): Calling Methods
original ↗
28 Apr 2021
A Rubyist’s Walk Along the C-side (Part 2): Defining Methods
original ↗
8 Apr 2021
A Rubyist’s Walk Along the C-side (Part 1): Hello World!
original ↗
25 Mar 2021
A Rubyist’s Walk Along the C-side
original ↗
20 Mar 2021
2020
1.5 is the Midpoint Between 0 and Infinity in Ruby
original ↗
26 Nov 2020
The Ruby Inplace Bug
original ↗
20 Nov 2020
Creating Ruby Strings in C
original ↗
4 Nov 2020
Garbage Collection in Ruby 3.0
original ↗
24 Aug 2020
Tips and tricks in MRI Ruby development
original ↗
21 Aug 2020