Live data from Hacker News

Viewing profile — gepheum

gepheum

HN member
Joined
Tue, Feb 10, 2026, 1:00 PM UTC
HN karma
49
Public activity
29 items

About gepheum

gepheum@gmail.com

Recent public activity

  1. story
  2. story
  3. story
  4. 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…

  5. story
  6. comment
    Comment #47335047

    I stand corrected.

  7. 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…

  8. 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…

  9. 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…

  10. comment
    Comment #47322217

    Hey, Skir does have numerical tagging, see https://skir.build/docs/language-reference#structs

  11. 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…

  12. 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…

  13. 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…

  14. 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…

  15. 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…

  16. 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…

  17. comment
    Comment #47301109

    Thanks. Definitely agree, will try to think about what that could look like.

  18. 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…

  19. comment
    Comment #47300619

    Fair. I changed the tagline on the website to "A modern alternative to Protocol Buffer". Thanks for the feedback.

  20. 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…

  21. 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…

  22. comment
    Comment #47300197

    Also, thank you for flagging the constant syntax problem (x = 600) on the website. Fixed.

  23. 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…

  24. 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#.

  25. 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…