Live data from Hacker News

Viewing profile — huahaiy

huahaiy

HN member
Joined
Mon, Nov 07, 2011, 4:38 PM UTC
HN karma
342
Public activity
206 items

About huahaiy

I am a technologist and an entrepreneur, with an academic background in psychology and computer science.

Recent public activity

  1. comment
    Comment #49225298

    Writing about Postgres internals and managing a Postgres cluster is the extent of your database expertise? You are not self aware enough to know that doesn’t earn any trust?

  2. story
    Show HN: Datalevin – a simple, fast, and versatile Datalog database

    After 6 years of open source development, Datalevin has now reached 1.0. The goal of the project is to have better ergonomics than a SQL database for OLTP workloads. We have made D…

  3. story
  4. comment
    Comment #47646319

    I am glad you enjoyed it. I am happy to report that the next release will have many new features: Raft consensus based high availability (comes with an extensive Jepsen test suite)…

  5. comment
    Comment #47646173

    I have been using AI to write Clojure code this past half year. The frontline LLM has no problem with writing idiomatic Clojure code. Both Codex and Claude Code fix their missing c…

  6. story
  7. story
  8. comment
    Comment #46620100

    https://yyhh.org

  9. comment
    Comment #46046398

    Wonderful. Looking forward to it.

  10. comment
    Comment #46042202

    Very nice. Is there a plan to have an EDN writer in C as well?

  11. comment
    Comment #43167249

    I wrote my library this way for both performance AND type checking reasons. You cannot tell me the reasons why I wrote my code my way. That is just absurd. In any case, it is possi…

  12. comment
    Comment #43167060

    But if you add type hint in the signature, it does check the type. Basically, if you specify the type, it will check type. Just like any language that is not automatically inferrin…

  13. comment
    Comment #43163811

    That has nothing to do with types. You are now talking about when a compiler is run. Clojure gives you the option to run the compiler at runtime, so that's what people normally do.…

  14. comment
    Comment #43163640

    deftype IS a Java class, it's not compiled into something else. What is a Clojure function? A Clojure function is a Java class. Clojure is a compiled language, so it does check typ…

  15. comment
    Comment #43161400

    Then you are not writing in defprotocol everywhere style. The keyword is everywhere. All the domain objects are deftype or defrecord. Try that. It is the same as Java, basically. I…

  16. comment
    Comment #43160726

    No, defprotocol and deftype have the same properties as Java interface and Java classes, and the types are checked at compile time. This is static typing. Period. Clojure is a comp…

  17. comment
    Comment #43155712

    Nobody would argue that Java is not statically typed. That's my point. Clojure offers the same as what Java offers. If you write code in a defprotocol everywhere style, as many Clo…

  18. comment
    Comment #43155686

    I thought distributed system is exactly one of the things that got Clojure going to begin with. Remember Storm? As to databases, there are a fountain of databases emerging from the…

  19. comment
    Comment #43155650

    You can still do lein new and away you go, today. That still works. Many people still use lein for new projects, especially for larger ones. For small on-off thing, clojure command…

  20. comment
    Comment #43155607

    REPL code is copy/pasted straight into tests. So really, REPL is for helping write tests. BTW, when Clojurians talk about REPL, it's not about that separate window where you type a…

  21. comment
    Comment #43155578

    Scales very well. Immutable data pairs great with REPL. Because data are immutable, you don't need to care about where that data come from and where it will go. Just focus on what …

  22. comment
    Comment #43155548

    Not really. Database is where immutability may not be a good fit, at least not all the time. In many use cases, database is where application state resides, hence a mutable databas…

  23. comment
    Comment #43155474

    For someone who needs static typing, Clojure give them defprotocol, deftype and defrecord. Interestingly, most of the low level libraries in the Clojure ecosystem are programmed th…

  24. comment
    Comment #42675935

    No. I have looked at your code. You did not use the mentioned https://github.com/clj-easy/graal-build-time If you don't do what everybody is doing to solve a problem, then of cours…

  25. comment
    Comment #42671736

    Graalvm native image for Clojure is a solved problem. Just add this library to the project and add a flag to native image command line. https://github.com/clj-easy/graal-build-time…