News for hackers. Stuff that matters.

isaacvando

> So it turns out this is not "unlike Rust", it's pretty much the same thing: if everything was built in safe rust, then it would be as safe. The communication of this point is not great at all, so much so I don't think it's purely informative.

Safe Rust still basically always links against unsafe C libraries though. Fil-C will only link against libraries compiled with Fil-C which makes for a vastly stronger guarantee.

Also, plenty of code written in Rust is not safe so "if everything was built in safe rust, then it would be as safe" does not hold. There's definitely no way to write safe inline assembly in Rust.

Re:I Hate GitHub Actions with Passion on Wednesday January 14, 2026 @11:12AM (#46617820)
You should try RWX! You can trigger runs from the CLI for way faster feedback loops. The automatic caching is surprisingly good too. https://www.rwx.com/
Re:1000 Blank White Cards on Wednesday January 14, 2026 @11:08AM (#46617754)
This game is a ton of fun. Try it!
Re:RegreSQL: Regression Testing for PostgreSQL Queries on Monday November 24, 2025 @04:08PM (#46039338)
We using Tonic.ai. Although I am interested in writing something myself; I suspect there are a lot of ways it could be improved such as generating the anonymized version more quickly.
We use jib at work (https://github.com/GoogleContainerTools/jib) which also skips the Dockerfile and builds an image for a Java project directly.

This certainly looks like a much nicer experience than docker build, especially given that there can be a cache hit after a cache miss.

Re:RegreSQL: Regression Testing for PostgreSQL Queries on Friday November 14, 2025 @05:06PM (#45932729)
At work we have anonymized dumps of our production data that we use for local development. This is extremely helpful as it allows testing things locally that would be completely unrealistic to setup otherwise. Your whole dataset might not be able to fit on a dev machine, but I'd guess in most cases you could create a subset of it that would be large enough to be useful for local performance work.
Re:We cut our Mongo DB costs by 90% by moving to Hetzner on Thursday November 13, 2025 @12:52PM (#45918076)
There are also an enormous number of ways to build insecure apps on AWS. I think the difficulty of setting up your own server is massively overblown. And that should be unsurprising given that there are so many companies that benefit from developers thinking it's too hard.
Re:Vibe code is legacy code on Wednesday July 30, 2025 @06:38PM (#44740361)
programming as theory building mentioned
Re:Ask HN: Is the Ask HN algorithm broken? on Thursday July 17, 2025 @02:25PM (#44596441)
How did this end up on the front page with 0 comments??
Re:Show HN: Chawan TUI web browser on Tuesday June 17, 2025 @10:09PM (#44306051)
Nothing happens for me either
Re:Show HN: Chawan TUI web browser on Monday June 16, 2025 @09:02PM (#44294770)
Here's the contents of a. Let me know if there are any other commands you'd like me to type.

``` handleCommandInput 1, buffer "" c 'j' handleCommandInput 2, buffer "" c 'j' after handleCommandInput, buffer 0x104c5b780"j" c 'j' handleCommandInput 1, buffer "" c 'k' handleCommandInput 2, buffer "" c 'k' after handleCommandInput, buffer 0x104ca8b70"k" c 'k' handleCommandInput 1, buffer "" c 'l' handleCommandInput 2, buffer "" c 'l' after handleCommandInput, buffer 0x104c5bab0"l" c 'l' handleCommandInput 1, buffer "" c 'k' handleCommandInput 2, buffer "" c 'k' after handleCommandInput, buffer 0x104ca8d20"k" c 'k' handleCommandInput 1, buffer "" c 'j' handleCommandInput 2, buffer "" c 'j' after handleCommandInput, buffer 0x104c5b480"j" c 'j' handleCommandInput 1, buffer "" c 'h' handleCommandInput 2, buffer "" c 'h' after handleCommandInput, buffer 0x104ca89c0"h" c 'h' handleCommandInput 1, buffer "" c 'g' handleCommandInput 2, buffer "" c 'g' after handleCommandInput, buffer 0x104cae780"g" c 'g' handleCommandInput 1, buffer "" c '1' after handleCommandInput, buffer "" c '1' handleCommandInput 1, buffer "" c '2' after handleCommandInput, buffer "" c '2' handleCommandInput 1, buffer "" c '3' after handleCommandInput, buffer "" c '3' handleCommandInput 1, buffer "" c '1' after handleCommandInput, buffer "" c '1' handleCommandInput 1, buffer "" c '2' after handleCommandInput, buffer "" c '2' handleCommandInput 1, buffer "" c '2' after handleCommandInput, buffer "" c '2' handleCommandInput 1, buffer "" c '3' after handleCommandInput, buffer "" c '3' handleCommandInput 1, buffer "" c '\3' handleCommandInput 2, buffer "" c '\3' after handleCommandInput, buffer 0x104cae690"\3" c '\3' handleCommandInput 1, buffer "" c '\3' handleCommandInput 2, buffer "" c '\3' after handleCommandInput, buffer 0x104adaed0"\3" c '\3' handleCommandInput 1, buffer "" c '\3' handleCommandInput 2, buffer "" c '\3' after handleCommandInput, buffer 0x104ca8720"\3" c '\3' handleCommandInput 1, buffer "" c '\4' handleCommandInput 2, buffer "" c '\4' after handleCommandInput, buffer 0x104bf8d80"\4" c '\4' handleCommandInput 1, buffer "" c '\3' handleCommandInput 2, buffer "" c '\3' after handleCommandInput, buffer 0x104caaa80"\3" c '\3' handleCommandInput 1, buffer "" c '\4' handleCommandInput 2, buffer "" c '\4' after handleCommandInput, buffer 0x104ca8e40"\4" c '\4' ```

Re:Show HN: Chawan TUI web browser on Monday June 16, 2025 @07:56PM (#44294437)
I tried it in Ghostty, iTerm2, and Terminal.app and they all behaved the same.
Re:Show HN: Chawan TUI web browser on Monday June 16, 2025 @07:39PM (#44294348)
This is super cool! Bravo. Awesome to see it written in Nim too.

When I do `cha example.com` I can't figure out how to use any of the commands (hjkl, etc). The only keys I've found that have any effect are typing numbers which show up in the bottom left. Haven't figured out how to do anything with those. Am I missing something obvious about how to use this or could this be a bug?

I built from source on MacOS Sequoia 15.5 Apple Silicon using Nim 2.24. Pages load correctly, I just can't get the commands to work. Thanks!

Nice!
Re:Typst 0.13 is out now on Wednesday February 19, 2025 @02:16PM (#43106153)
Looks wonderful!
Re:Roc rewrites the compiler in Zig on Tuesday February 04, 2025 @08:14PM (#42942067)
I believe the main reason is for achieving the best possible performance. Someone closer to the compiler could give more detail.
Re:Roc rewrites the compiler in Zig on Tuesday February 04, 2025 @06:25PM (#42940750)
Not necessarily! Each Roc app runs on a particular platform which is built in a host language for a specific domain. That host language could be Rust, Zig, C, C++, Go, Swift, etc. It's possible the basic-webserver platform will be rewritten to Zig but it doesn't need to be.
Re:Roc rewrites the compiler in Zig on Tuesday February 04, 2025 @05:12PM (#42939707)
Roc couldn't be optimized for writing the Roc compiler without sacrificing some of its own goals. For example, Roc is completely memory-safe, but the compiler needs to do memory-unsafe things. Introducing memory-unsafety into Roc would just make it worse. Roc has excellent performance, but it will never be as fast as a systems language that allows you to do manual memory management. This is by design and is what you want for the vast majority of applications.

There are a number of new imperative features that have been (or will be) added to the language that capture a lot of the convenience of imperative languages without losing functional guarantees. Richard gave a talk about it here: https://youtu.be/42TUAKhzlRI?feature=shared.

Yes! In Roc you specify all of your packages in your main.roc file, there's never a need for an external config file. It is extremely nice to always be able to run stand alone files. https://www.roc-lang.org/ An example: https://github.com/isaacvando/rtl/blob/main/rtl.roc#L1