<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Perry Blog</title>
    <link>https://www.perryts.com/id/blog/</link>
    <description>Catatan rilis, tutorial, dan artikel teknis Perry yang bertanggal. Hasil pengukuran lama tetap terikat pada versi aslinya.</description>
    <language>id</language>
    <item>
      <title>Compiling JavaScript AOT is complicated, here is why</title>
      <link>https://www.perryts.com/id/blog/compiling-javascript-aot/</link>
      <guid>https://www.perryts.com/id/blog/compiling-javascript-aot/</guid>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <description>An ahead-of-time compiler has to know, before the program runs, whether item.price is one load or a full lookup. How Perry proves whole-program facts about your JavaScript, the design that hit a wall, the per-unit design that replaced it, what failed, and where it stands.</description>
    </item>
    <item>
      <title>Membangun GC untuk compiler TypeScript native: keputusan, kejutan, dan perkembangannya</title>
      <link>https://www.perryts.com/id/blog/gc-decisions-surprises/</link>
      <guid>https://www.perryts.com/id/blog/gc-decisions-surprises/</guid>
      <pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate>
      <description>Perry mengompilasi TypeScript menjadi kode native dengan LLVM — artinya Perry memerlukan garbage collector sungguhan. Tulisan ini membahas keputusan kami, bug yang tidak meninggalkan bukti, gerbang CI yang secara struktur tidak mungkin gagal, serta posisi angkanya terhadap Node dan pesaing AOT berbasis reference counting.</description>
    </item>
    <item>
      <title>Mengompilasi Claude Code: satu bundle yang diminifikasi, 160 perbaikan compiler</title>
      <link>https://www.perryts.com/id/blog/compiling-claude-code/</link>
      <guid>https://www.perryts.com/id/blog/compiling-claude-code/</guid>
      <pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate>
      <description>Kami mencoba memakai Perry untuk mengubah cli.js hasil minifikasi berukuran 13 MB yang didistribusikan npm untuk Claude Code menjadi biner native. Sebulan kemudian, program dapat dijalankan, login, menerima respons API sungguhan secara streaming, dan menampilkan karakter yang diketik. Sebanyak 160 pull request digabungkan ke Perry, dari MessageChannel yang tidak melakukan apa pun hingga write barrier GC yang hilang pada header RegExp.</description>
    </item>
    <item>
      <title>Merilis aplikasi khusus Apple Watch ke App Store ketika semua cara lain gagal</title>
      <link>https://www.perryts.com/id/blog/shipping-a-watch-only-app-to-the-app-store/</link>
      <guid>https://www.perryts.com/id/blog/shipping-a-watch-only-app-to-the-app-store/</guid>
      <pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate>
      <description>Semua cara terdokumentasi untuk mengunggah aplikasi watchOS mandiri ke App Store gagal: altool, iTMSTransporter, xcodebuild, bahkan Organizer di Xcode 26 menolak platform watchOS. Solusi yang belum terdokumentasi ini berhasil sekaligus mempertahankan arm64_32 untuk Watch lama: bungkus aplikasi dengan stub iOS bertanda ITSWatchOnlyContainer, lalu unggah menggunakan iTMSTransporter.</description>
    </item>
    <item>
      <title>Paket npm Nyata Kini Ter-compile: axios, zod, express — dan Sapuan Konformansi</title>
      <link>https://www.perryts.com/id/blog/real-npm-packages-and-a-conformance-sweep/</link>
      <guid>https://www.perryts.com/id/blog/real-npm-packages-and-a-conformance-sweep/</guid>
      <pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate>
      <description>Sekitar 270 release dari v0.5.875 ke v0.5.1146 bukan tentang satu benchmark — melainkan tentang membuat paket npm nyata ter-compile dan berjalan. axios, zod v4, express, fastify, dan hono kini berfungsi; paritas test262 melonjak (String 60→79%, Array 61→72%); Windows menjadi Fluent dengan Mica; dan DatePicker + drag &amp; drop mendarat di setiap platform.</description>
    </item>
    <item>
      <title>Apa yang Benchmark aya_koto Ajarkan kepada Kami tentang GC Perry</title>
      <link>https://www.perryts.com/id/blog/closing-the-gc-gap/</link>
      <guid>https://www.perryts.com/id/blog/closing-the-gc-gap/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Seorang pembaca melakukan benchmark Perry pada AtCoder ABC451D dan mengukurnya 3,85× lebih lambat dari Bun. Sebuah regresi diam-diam telah memperlebar gap menjadi 6,59× sejak itu. Fix-nya tidak di tempat yang kami duga, trade-off GC disengaja yang terungkapnya nyata, dan Perry v0.5.875 sekarang seri dengan Bun di bench yang sama: 425 ms vs 431 ms.</description>
    </item>
    <item>
      <title>Auto-Update, Inspector Live, dan Compiler yang Memotong Dirinya Sendiri</title>
      <link>https://www.perryts.com/id/blog/updater-live-inspector-and-compiler-refactor/</link>
      <guid>https://www.perryts.com/id/blog/updater-live-inspector-and-compiler-refactor/</guid>
      <pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.5.306 → v0.5.359 dalam empat hari — 53 patch release, ~30 issue ditutup, dan tiga hal besar mendarat: perry/updater untuk auto-update desktop, inspector live di localhost:7676, dan refactor compiler yang menyusutkan empat file terbesar sebesar 33–91%.</description>
    </item>
    <item>
      <title>GC Generasional, Lazy JSON, dan Benchmark yang Tahan Pemeriksaan</title>
      <link>https://www.perryts.com/id/blog/gen-gc-lazy-json-and-defensible-benchmarks/</link>
      <guid>https://www.perryts.com/id/blog/gen-gc-lazy-json-and-defensible-benchmarks/</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.5.174 → v0.5.306 dalam tiga hari, plus pekerjaan GC dan JSON yang mendarat bersamanya. GC generasional kini default. Small String Optimization kini default. Pipeline JSON mendapatkan lazy tape yang mendarat di median 75 ms pada validate-and-roundtrip — terbaik di kelompok dynamic typing. Halaman benchmark ditulis ulang dengan median RUNS=11 + p95 + σ, simdjson dan AssemblyScript+json-as ditambahkan sebagai peer, dan setiap kelemahan Perry diungkap secara jujur.</description>
    </item>
    <item>
      <title>Distribusi npm, perry dev, dan Memenangkan Setiap Benchmark</title>
      <link>https://www.perryts.com/id/blog/npm-perry-dev-and-beating-bun/</link>
      <guid>https://www.perryts.com/id/blog/npm-perry-dev-and-beating-bun/</guid>
      <pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.5.80 → v0.5.174 dalam enam hari. @perryts/perry dirilis di npm untuk ketujuh platform yang didukung. perry dev menambahkan auto-recompile mode watch di atas cache AST in-memory dan cache objek per-modul di-disk. json_roundtrip menutup celah terakhirnya — Perry sekarang memenangkan setiap benchmark melawan Node.js dan Bun.</description>
    </item>
    <item>
      <title>Mengoptimalkan Semuanya: Satu Minggu, 68 Rilis, dan Percepatan JSON 547x</title>
      <link>https://www.perryts.com/id/blog/optimizing-everything/</link>
      <guid>https://www.perryts.com/id/blog/optimizing-everything/</guid>
      <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.5.13 → v0.5.80 dalam tujuh hari. JSON.parse menutup jarak 547x dengan Node. mimalloc hadir sebagai allocator global. Inline cache, transisi shape, slot Buffer bertipe, operasi bitwise i32-native, scalar replacement, dan event loop native yang menjaga server Fastify dan WebSocket tetap hidup.</description>
    </item>
    <item>
      <title>Dari Cranelift ke LLVM: Apa yang Rusak dan Bagaimana Kami Memperbaikinya</title>
      <link>https://www.perryts.com/id/blog/cranelift-to-llvm/</link>
      <guid>https://www.perryts.com/id/blog/cranelift-to-llvm/</guid>
      <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
      <description>Migrasi backend Perry dari Cranelift ke LLVM telah selesai. Peralihan awal membuat benchmark 70x lebih lambat — inilah yang rusak, dan enam optimasi terarah yang memperbaikinya.</description>
    </item>
    <item>
      <title>tvOS, Kompilasi Silang iOS dari Linux, dan Perry Login</title>
      <link>https://www.perryts.com/id/blog/tvos-cross-compile-and-perry-login/</link>
      <guid>https://www.perryts.com/id/blog/tvos-cross-compile-and-perry-login/</guid>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.4.24: tvOS sebagai target kompilasi ke-10, kompilasi silang iOS dan macOS dari Linux via ld64.lld, perry login dengan penagihan berbasis penggunaan, perombakan UI Windows, notarisasi macOS, dan 120 commit dalam 5 hari.</description>
    </item>
    <item>
      <title>Multi-Threading Sejati, i18n Waktu Kompilasi, dan watchOS</title>
      <link>https://www.perryts.com/id/blog/true-multithreading-i18n-and-watchos/</link>
      <guid>https://www.perryts.com/id/blog/true-multithreading-i18n-and-watchos/</guid>
      <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.4.0: thread OS nyata dengan keamanan waktu kompilasi, sistem internasionalisasi tanpa ribet untuk 30+ bahasa, watchOS sebagai target kompilasi ke-9, API audio dan kamera, dan pipeline kompiler paralel.</description>
    </item>
    <item>
      <title>Kompilasi Silang ke Windows, Game Loop iOS, dan 100% Paritas Pengujian</title>
      <link>https://www.perryts.com/id/blog/cross-compile-windows-game-loops-and-parity/</link>
      <guid>https://www.perryts.com/id/blog/cross-compile-windows-game-loops-and-parity/</guid>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <description>103 commit dalam satu minggu: kompilasi silang ke Windows dari Linux via lld-link, dukungan game loop iOS, pelaporan crash, pipeline build Hub dua tahap, dan kompiler self-hosting mencapai paritas pengujian deterministik 68/68.</description>
    </item>
    <item>
      <title>Pipeline Lengkap: Dokumentasi, Distribusi, dan WidgetKit</title>
      <link>https://www.perryts.com/id/blog/the-full-pipeline/</link>
      <guid>https://www.perryts.com/id/blog/the-full-pipeline/</guid>
      <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
      <description>82 commit dalam satu minggu: situs dokumentasi 49 halaman, publikasi otomatis ke App Store dan Play Store, paket Homebrew dan APT, ekstensi WidgetKit native dari TypeScript, widget baru, modul http/https, dan kompiler LLVM self-hosting.</description>
    </item>
    <item>
      <title>Dari Kompiler ke Ekosistem: React, Database, dan Cloud Build</title>
      <link>https://www.perryts.com/id/blog/from-compiler-to-ecosystem/</link>
      <guid>https://www.perryts.com/id/blog/from-compiler-to-ecosystem/</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <description>Perry berkembang dari kompiler menjadi ekosistem lengkap. perry/ui sebagai inti, ORM kompatibel Prisma untuk MySQL/PostgreSQL/SQLite, push notification universal, build terdistribusi dengan publikasi App Store, dan lapisan kompatibilitas React — semuanya dalam satu minggu.</description>
    </item>
    <item>
      <title>Enam Platform Sekaligus, Paritas Fitur Penuh</title>
      <link>https://www.perryts.com/id/blog/all-six-platforms-ui-parity/</link>
      <guid>https://www.perryts.com/id/blog/all-six-platforms-ui-parity/</guid>
      <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
      <description>20+ widget UI native, widget Canvas, Table view, notifikasi sistem, akses keychain, dukungan multi-window, dan paritas fitur penuh di macOS, iOS, iPadOS, Android, Linux, dan Windows — semuanya dari satu kode sumber TypeScript.</description>
    </item>
    <item>
      <title>Sistem Plugin Adalah Pajak Performa</title>
      <link>https://www.perryts.com/id/blog/plugin-systems-are-a-performance-tax/</link>
      <guid>https://www.perryts.com/id/blog/plugin-systems-are-a-performance-tax/</guid>
      <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
      <description>Arsitektur plugin menukar performa demi ekstensibilitas. Tapi bagaimana jika ekstensibilitas terjadi saat kompilasi bukan saat runtime? Komposisi waktu kompilasi memberikan keduanya — nol overhead, fleksibilitas penuh.</description>
    </item>
    <item>
      <title>Mengompilasi Hono, tRPC, dan Strapi ke Binary Native</title>
      <link>https://www.perryts.com/id/blog/compiling-hono-trpc-strapi/</link>
      <guid>https://www.perryts.com/id/blog/compiling-hono-trpc-strapi/</guid>
      <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
      <description>Perry kini mengompilasi tiga framework TypeScript utama — Hono, tRPC, dan Strapi — menjadi executable ARM64 native. Dikompilasi dalam waktu kurang dari satu detik, menghasilkan binary di bawah 2 MB, dan berjalan tanpa crash.</description>
    </item>
    <item>
      <title>Membangun Pry: Penampil JSON Native dalam TypeScript</title>
      <link>https://www.perryts.com/id/blog/building-pry/</link>
      <guid>https://www.perryts.com/id/blog/building-pry/</guid>
      <pubDate>Thu, 20 Feb 2025 00:00:00 GMT</pubDate>
      <description>Panduan membuat Pry, penampil JSON asli yang dikompilasi dari TypeScript ke kode mesin dengan runtime Perry dan GC tertaut dan tidak ada tampilan web.</description>
    </item>
    <item>
      <title>UI Native Lintas Platform dari TypeScript</title>
      <link>https://www.perryts.com/id/blog/cross-platform-native-ui/</link>
      <guid>https://www.perryts.com/id/blog/cross-platform-native-ui/</guid>
      <pubDate>Sat, 01 Feb 2025 00:00:00 GMT</pubDate>
      <description>Bagaimana Perry memetakan basis kode TypeScript ke widget platform di seluruh target yang terdokumentasi, termasuk batasan dan prasyarat khusus platform.</description>
    </item>
    <item>
      <title>Memperkenalkan Perry</title>
      <link>https://www.perryts.com/id/blog/introducing-perry/</link>
      <guid>https://www.perryts.com/id/blog/introducing-perry/</guid>
      <pubDate>Wed, 15 Jan 2025 00:00:00 GMT</pubDate>
      <description>Perry mengkompilasi TypeScript yang didukung ke executable asli mandiri dengan runtime-nya dan GC tertaut, tanpa memerlukan Node.js atau mesin JavaScript.</description>
    </item>
  </channel>
</rss>
