chaokunyang
Using Apache Fory JSON with Spring MVC, WebFlux, and Spring Boot
Apache Fory JSON: Fastest Java JSON Serialization, 10x Faster Than Jackson/Gson
In the published benchmarks, it reaches up to 10.91× Jackson’s throughput and 10.89× Gson’s in java-json-benchmark, and up to 5.55× and 10.00× respectively in the jvm-serializers MediaContent benchmark.
It supports JDK 8+, Android, and GraalVM Native Image. JDK17+ Record is also supported.
Feedback is welcome.
Apache Fory Serialization 1.2.0: JDK 25 support without sun.misc.Unsafe
The main Java change is JDK 25 support without using sun.misc.Unsafe in the active runtime path. Older JDKs keep the existing fast path, while JDK 25+ uses replacement implementations based on supported JVM APIs.
Other notable changes:
- Java 9/16 module-info generation
- JDK 26+ final field deserialization support even when --illegal-final-field-mutation=deny
- compatible scalar field reads for schema evolution, e.g. int64 <-> String when the conversion is lossless
- generated gRPC service companions across Java, Rust, Go, Kotlin, Scala, C#, Python, and JavaScript/TypeScript - compatible-mode and row-format performance work
Feedback from people testing serialization libraries on newer JDKs or dealing with Unsafe removal would be useful.
Apache Fory C++: 10x faster serialization than protobuf
namespace demo;
table Node {
parent: Node (fory_weak_ref: true);
children: [Node] (fory_ref: true);
cached: Node (fory_ref: true, fory_thread_safe_pointer: false);
}syntax = "proto3";
message TreeNode {
TreeNode parent = 1 [(fory).weak_ref = true];
repeated TreeNode children = 2 [(fory).ref = true];
}With fory first-class object graph serialziation support, you can serialize object graphs without manual *_id link reconstruction or rewriting your entire schema into Fory Schema.
1. GitHub: https://github.com/apache/fory
2. Compiler docs: https://fory.apache.org/docs/compiler
Extend Protobuf/FlatBuffers Schema IDL with Shared/Circular Reference Support
message Customer { string id = 1; string name = 2; }
message Order {
string order_id = 1;
ref Customer customer = 2;
list<string> items = 3;
}2. GitHub https://github.com/apache/fory
3. Benchmarks https://github.com/apache/fory/tree/main/docs/benchmarks
Show HN: First IDL for Object-Graph Serialization (Apache Fory IDL)
https://fory.apache.org/blog/fory_schema_idl_for_object_graph/
Apache Fory Schema IDL is the first cross-language schema that treats object graphs (shared refs, cycles, polymorphism) as a first-class contract and still generates idiomatic domain models.1. `ref` encodes shared identity/loops in the schema (weak refs supported) — no manual ID stitching2. `union`/`any` give reusable polymorphism; same semantics across Java/Python/Go/Rust/C++/C#/Swift3....
Show HN: Fory C++ Serialization – Polymorphism, Circular Refs, 12x vs. Protobuf
https://fory.apache.org/blog/fory_cpp_blazing_fast_serialization_framework/
Apache Fory's C++ serialization is our latest support for c++Highlights:1. Automatic idiomatic cross-language serializaton, no adapter layer, serialize in C++, deserialize in Python.2. Polymorphism via smart pointers. Fory detects std::is_polymorphic<T> automatically. Serialize through a shared_ptr<Animal>, get a Dog* back — zero boilerplate.3. Circular/shared reference tracking....
Show HN: Browser Terminal Use – run local CLI/agent loops in browser terminals
https://github.com/chaokunyang/browser-terminal-use
I built Browser Terminal Use: a Chrome extension + local daemon + CLI that lets you run commands in a browser-hosted terminal from your local shell on macOS,Why I built it: setups). - I wanted a bridge that keeps local automation while executing remotely in the browser terminal context.How it works:- browterm CLI sends exec requests to browterm-daemon on localhost. - Daemon serializes requests...
Show HN: Browser Terminal Use – A Local-to-Cloud Execution Bridge for LLM Agents
https://github.com/chaokunyang/browser-terminal-use
I built Browser Terminal Use for AI Agents.Project: https://github.com/chaokunyang/browser-terminal-useThe goal is simple: let an Agent run iterative loops from local code, but execute commands inside a browser-hosted cloud terminal.With this tool, an Agent can:- send commands from local CLI - execute inside a bound browser terminal tab - stream output in real time - get the exact remote exit...
Trillion‑Scale RL in Real Time: Awex Delivers Second‑Level Weight Updates
The AGENTS.md file was added only recently. Its original purpose wasn’t to hand code generation entirely to an AI, but rather to use AI as a pair‑programming debugger — for example, having it walk through tricky binary parsing issues byte‑by‑byte. Serialization in a compact binary format can be hard to debug, and AI can sometimes save hours by quickly pinpointing structural mismatches.
That said, serialization is a fundamental piece of infrastructure, so we remain conservative: any AI‑assisted changes go through the same rigorous review and test process as everything else. As technology evolves, I think it’s worth exploring new tools — but with care.