Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mbrock
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
31.
▲
by
mbrock
10mo ago
I've got a pure Go journald file writer that works to some extent—it doesn't split, compress, etc, but it produces journal files that journalctl/sdjournal can read, concurrently. Only stress tested by running a bunch of paral
32.
▲
by
mbrock
11mo ago
I see what you mean, but I think it's a lot less pernicious than astrology. There are plausible mechanisms, it's at least possible to do benchmarking, and it's all plugged into relatively short feedback cycles of people tryin
33.
▲
by
mbrock
11mo ago
I'd been imagining taking the Zig Language Server and adding some refactorings to it—it only had a bare minimum like Rename Symbol. It seemed like a huge project with so much context to get familiar with, so I put it off indefinitely.
34.
▲
by
mbrock
11mo ago
If you've already gotten used to one custom ad hoc confusing configuration language...
35.
▲
by
mbrock
11mo ago
Interesting! I guess that's from your standard benchmark setup. Please note that Fil-C makes no secret of having a performance penalty. It's definitely a pre-1.0 toolchain and only recently starting to pick up some momentum. The a
36.
▲
by
mbrock
11mo ago
If you missed it, djb himself posted this cute graph of "nearly 9000 microbenchmarks of Fil-C vs. clang on cryptographic software (each run pinned to 1 core on the same Zen 4)": https://cr.yp.to/2025/20251028-
37.
▲
by
mbrock
11mo ago
Currently measured worst case for some types or code.
38.
▲
by
mbrock
11mo ago
Yeah, but if you actually need to retain a live subgraph of the allocated heap, the arena can't help you. So you make an arena allocator that only frees its slab after moving out the reachable set to a new compacted arena. Congratulati
39.
▲
by
mbrock
11mo ago
Hmm, so if they're writing new memory unsafe code in C/C++, presumably to remain within their already established and entrenched C/C++ ecosystems, why isn't Fil-C interesting as a way to thwart memory safety issues in th
40.
▲
by
mbrock
11mo ago
You can wrack some people's brains by stating that for some problems, a GC is a great way to alleviate the performance problems caused by manual memory management.
41.
▲
by
mbrock
11mo ago
From an engineering perspective, the software is already written in C, and you're weighing the tradeoffs between rewriting it and recompiling it.
42.
▲
by
mbrock
11mo ago
Good call! Fil-C does in fact have a way to let you build and run OpenSSL with its constant time crypto. I don't know how this works exactly but I guess it's relatively easy to guarantee it's safe.
43.
▲
by
mbrock
11mo ago
If you run Nix (whether on NixOS or elsewhere) you can do `cachix use filc` and `nix run github:mbrock/filnix#sqlite` and it should drop you into a Fil-C SQLite after downloading the runtime dependencies from my binary cache (no warran
44.
▲
by
mbrock
11mo ago
I think that's the build of LLVM+Clang itself.
45.
▲
by
mbrock
11mo ago
I don't understand the need to hammer in the point that Fil-C is only valuable for this tiny, teeny, irrelevant microscopic niche, while not even talking about what the niche is? To be clear, the niche is rebuilding your entire GNU
46.
▲
by
mbrock
11mo ago
Look at how fanatic the compatibility actually is. Building Postgres or MySQL is conceivable but probably will require some changes. (SQLite compiles and runs with zero changes right now.)
47.
▲
by
mbrock
11mo ago
Note that it is a garbage collector designed and implemented by one of the most experienced GC experts on earth. He previously designed and implemented WebKit's state of the art concurrent GC, for example. So—yes, but don't dismis
48.
▲
by
mbrock
11mo ago
What does that have to do with apt?
49.
▲
by
mbrock
11mo ago
Ah, that's great. I've also found LLM agents extremely helpful for reviving old projects.
50.
▲
by
mbrock
1y ago
To be clear, Claude probably also introduced the bugs? I tried to use an appropriate emoji to express the joking nature of this comment, but HN silently filtered it out, so pretend you see a grinning face.
51.
▲
by
mbrock
1y ago
Yep, you can look around in Nixpkgs and see a bunch of conditionally applied patches based on target platform. My Fil-C flake already includes like 50 different patches extracted from the upstream port catalogue!
52.
▲
by
mbrock
1y ago
Let me know when the full "C++ to Go" toolchain is up and running, I'd love to try it and compare!
53.
▲
by
mbrock
1y ago
> you might as well use C# or Go Except, uh, you can't use C# or Go to run a program written in C/C++. Oh, you mean we can solve all our problems by simply rewriting all legacy software? Right, I forgot!
54.
▲
by
mbrock
1y ago
I tried it and it doesn't crash when compiled with Fil-C, FYI. But I guess it wouldn't be too hard to implement.
55.
▲
by
mbrock
1y ago
Right now Python simply does not work at all. I was trying last night just to get the compiler to build, but ran into some Fil-C panics at the last moment when it tries to "freeze" some modules? But it should work. My idea is to m
56.
▲
by
mbrock
1y ago
Check out this document to see how the Fil-C ports of Python and Perl and so on work: https://github.com/mbrock/filnix/blob/main/ports/analysis.md This is still within the userspace application real
57.
▲
by
mbrock
1y ago
I'm working on packaging Fil-C for Nix, as well as integrating Fil-C as a toolchain in Nix so you can build any Nix package with Fil-C. https://github.com/mbrock/filnix It's working. It builds tmux, nethack,
58.
▲
by
mbrock
1y ago
I also based my Zig Lisp interpreter on delimited continuations and had a great time implementing async, resumable exceptions, dynamically scoped variables, and so on, on top of that. The single-stepping continuation-shuffling evaluation pa
59.
▲
by
mbrock
1y ago
do yourself a favor and try it, Zig ships with headers and libc sources and its own LLVM distribution and makes cross compilation so easy it's just ridiculous, you literally don't have to do anything
60.
▲
by
mbrock
1y ago
A specific claim about OLTP processing under contention. Or how would you characterize the specific claim, specifically?
More ›