HackerTrans
TopNewTrendsCommentsPastAskShowJobs

mistivia

no profile record

Submissions

Lisp-style C++ template meta programming

github.com
70 points·by mistivia·4 เดือนที่ผ่านมา·14 comments

[untitled]

1 points·by mistivia·4 เดือนที่ผ่านมา·0 comments

Show HN: Mvvmm – Firecracker-like mini virtual machine monitor in ~2000 LoC

github.com
2 points·by mistivia·5 เดือนที่ผ่านมา·0 comments

Write a Virtual Machine Monitor and Boot Linux

blog.mistivia.com
1 points·by mistivia·5 เดือนที่ผ่านมา·0 comments

Show HN: A small embeddable and hackable Lisp-2 interpreter in C

github.com
2 points·by mistivia·7 เดือนที่ผ่านมา·0 comments

Show HN: EZLive – lightweight serverless self-hosted livestream

github.com
2 points·by mistivia·10 เดือนที่ผ่านมา·0 comments

comments

mistivia
·4 เดือนที่ผ่านมา·discuss
> we are performing an rather imprecise and expensive acos() call

No, the acos() call is not expensive at all. There is hardware acceleration.We can calculate acos() with in 12 CPU instructions.

https://git.musl-libc.org/cgit/musl/tree/src/math/i386/acos....
mistivia
·4 เดือนที่ผ่านมา·discuss
> The deepest truths fit on a napkin.

If you have really done physics or engineering, you would never believe this. Simple and elegant formulas usually can only solve the "spherical chicken in a perfect vacuum" kind of problems. The real world is incredibly messy. Beneath those clean and beautiful-looking partial differential equations lies a mathematical nightmare. And these equations often only hold at certain scales or rely on extremely strict boundary conditions.
mistivia
·4 เดือนที่ผ่านมา·discuss
I've add exmaples of a toy EDSL and compile-time reflex in C++17 in GitHub readme, which wouldn't work with constexpr only.
mistivia
·4 เดือนที่ผ่านมา·discuss
Template metaprogramming isn't really suited for this task, the prime sieve here serves only as a proof of concept, meant to show the capabilities of this style. But there are cases where `constexpr` is not applicable, especially when involving type manipulations.

On the other hand, C++ template metaprogramming, as an esolang, is fun to tame and experiment with.
mistivia
·6 เดือนที่ผ่านมา·discuss
We have seen similar situations countless times before. Just as the Internet allowed people to bypass publishers to release text, and YouTube allowed creators to bypass TV stations and cinemas to release video, AI now allows people to bypass lawyers to read legal texts, which are often deliberately written to be indecipherable to an average person. AI will not destroy institutions, but it will pose challenges and lead to restructuring.
mistivia
·6 เดือนที่ผ่านมา·discuss
I don't want a Rust language without a borrow checker. I want a C language with a Borrow Checker. Rust's complexity is already approaching C++, and removing the Borrow Checker would turn it into a similar disaster. Austral looks like a good option to me, but it's not mature enough yet, and the Pascal-like syntax is also difficult to get used to.
mistivia
·8 เดือนที่ผ่านมา·discuss
I used similar method to craft my own type-safe algorithm and data structure library in C: https://github.com/mistivia/algds

Although it's a toy not for production, it's very interesting that the idea of traits/concept/typeclass just "emerge" out of the code, which made me suddenly understand why STL come into being.
mistivia
·9 เดือนที่ผ่านมา·discuss
It's very dangerous to write a http parser from scratch in C. This can be very vulnerable without rigorous testing. To get a useful web framework for production in C, I think it's a better idea to start from libmicrohttpd, libevent_http, or even fastcgi, which are battle-tested.