Viewing profile — gepheum
gepheum
HN member- Joined
- Tue, Feb 10, 2026, 1:00 PM UTC
- HN karma
- 49
- Public activity
- 29 items
- HN profile
- View on Hacker News ↗
About gepheum
Recent public activity
- story
- story
- story
-
comment
Comment #47616564
The languages that Skir supports officially: C++, Dart, Go, Java, Kotlin, Python, Rust, Swift, Typescript Links: - Website: https://skir.build/ -- Skir Go doc: https://skir.build/d…
- story
-
comment
Comment #47335047
I stand corrected.
-
comment
Comment #47322538
flatbuffers and capnproto are in the game of trying to make serialization to binary format as efficient as possible. Their goal is trying to beat benchmarks: how long it takes to c…
-
comment
Comment #47322370
Thanks for the comment! Agree with you about the horrible Protobuf-to-Python bidding, it was a big frustration and definitely contributed to me wanting to build Skir. 1. You can cr…
-
comment
Comment #47322272
Hey, thanks a lot for the comment! I share your frustration with protobuf: although I think it's great, it carries a few design flaws which are hard to fix at this point and they c…
-
comment
Comment #47322217
Hey, Skir does have numerical tagging, see https://skir.build/docs/language-reference#structs
-
comment
Comment #47322197
Let's imagine you have this: ``` struct User { id: int64; email: string?; name: string; } ``` You store some users in a database: [10,"john@gmail.com""john"], [11,"jane",null,"john…
-
comment
Comment #47308569
I looked at Prisma, I very much prefer the Protobuf/Thrift model of using numbers to identify fields, which allows 2 important things: fields to be renamed without breaking backwar…
-
comment
Comment #47308488
Thanks for the comment. I am very familiar with Buf+Protobuf, I think it's a great system overall but has many limitations which I think can be overcome by redesigning the language…
-
comment
Comment #47302843
That is correct and that is a good catch, the idea though is that when you remove a field you typically do that after having made sure that all code no longer read from the removed…
-
comment
Comment #47301982
+1 Copying from blog post [ https://medium.com/@gepheum/i-spent-15-years-with-protobuf-t... ]: """ Should you switch from Protobuf? Protobuf is battle-tested and excellent. If your…
-
comment
Comment #47301701
Thanks for the feedback. 0. Yes, I looked at Avro, Ion. I like Protobuf much better because I think using field numbers for field identity, meaning being able to rename fields free…
-
comment
Comment #47301109
Thanks. Definitely agree, will try to think about what that could look like.
-
comment
Comment #47300938
Thanks! Main use case (similarly to Protobuf) is when you need to exchange data types between systems written in different languages. Like Protobuf, it can also be used in a mono-l…
-
comment
Comment #47300619
Fair. I changed the tagline on the website to "A modern alternative to Protocol Buffer". Thanks for the feedback.
-
comment
Comment #47300359
> Also, I disagree on the constructor front. Proto forces you to grapple with the reality that a field may be missing. In a production system, when adding a new field, there will b…
-
comment
Comment #47300249
I think you may be referring to JSPB. It's used internally at Google but has little support in the open-source. I know about it, but I wouldn't say I was inspired by it. It's parti…
-
comment
Comment #47300197
Also, thank you for flagging the constant syntax problem (x = 600) on the website. Fixed.
-
comment
Comment #47300138
Skir has exactly the same goals as Protobuf, so yes, that sentence can apply to Protobuf as well (and buf.build). I listed some of the reasons to prefer Skir over Protobuf in my hu…
-
comment
Comment #47300093
Yeah totally fair. I targeted Dart because of Flutter, but I think I will include Swift in the next wave of languages, after Rust, Go and C#.
-
comment
Comment #47300080
Thank you so much for taking the time to dig into the compile source code and the thorough comment you left. For dense JSON: the idea is that it is often a good "default" choice be…