HNHacker News
TopNewBestAskShowJobs

dorianniemiec

153 karma · joined May 2, 2024

A ZSOiE student passionate about Information Technology. The creator of Ferron — a fast, memory-safe web server written in Rust. An #ActuallyAutistic person.
submissionscomments
dorianniemiec··on Ask HN: Any guesses on which model/provider is Space Bunny Alpha on OpenRouter?
Maybe it's a new MiniMax model?

https://www.reddit.com/r/opencode/comments/1wp4kmi/m31_is_sp...

dorianniemiec··on Ask HN: Do you cuss at your agent?
NO! I just prompt normally, and if that fails, hand-code or restart from scratch instead
dorianniemiec··on Ask HN: Are .shop domains down?
https://apple.shop looks to be up for me... https://pokemon.shop times out for me though...
dorianniemiec··on Ask HN: Which model do you use for work?
Free models on OpenCode, or just locally running models (at most 27B or 35B A3B or similar) on LM Studio... :')
dorianniemiec··on Repology, the Packaging Hub
Seems like the original repology.org is dead, so I linked to the site on replacement subdomain, just in case.
dorianniemiec··on Thought on how to deal with AI crawlers
And then, I'm thinking of responding with a seahorse emoji... :)
dorianniemiec··on What even is an OS now?
And then there are products that call themselves an "OS", but which they have nothing to do with computer operating systems...
dorianniemiec··on A fun debugging story from this weekend
Another debugging story I had: One time while I was running some server benchmarks, I was wondering why the new version was so slow. Turned out baseline was also slower, and after I turned off local AI model, it got restored!
dorianniemiec··on How Fairphone built the Fairphone Gen 6+
I have a Fairphone 5, chose that mainly because of repairability. :)
dorianniemiec··on Ask HN: Who is using MCP in production?
I do, was using Grafana MCP to a local Grafana instance for QA-testing my web server.
dorianniemiec··on In 5 years, nobody will give a damn about AI-detectors
I tried running a "vibe-code detector" (something similar to AI content detectors, but for code and websites) against one of my old, archived projects (I think it's fully hand-coded), and I found some false-positives (such as "wall of green" commits for package-lock.json, "no unused imports" when I'm in fact using a linter effectively, single author)
dorianniemiec··on Ask HN: What are you working on? (June 2026)
A new major version of a web server that would be easier to debug, not just easy to setup. Because I think ease of setup without ease of debugging is a hyperfocus trap that ends up exhausting operators.

I was working a lot on it recently...

https://ferron.sh/blog/ferron-3-0-0-beta-2-released

dorianniemiec··on Death by Clawd: Scan your business mortality with ClaudeAI
I put my web server I'm building here, and got this... :)

> # SKILL: Web Server Replacement > > ## Description > > Replace Ferron web server with Claude. > > ## Steps > > 1. Receive HTTP request > > 2. ... > > 3. Wait, I don't have access to TCP sockets > > 4. I literally cannot bind to port 80 > > 5. I am a language model, not a systems process > > 6. I cannot handle 10,000 concurrent connections > > 7. I do not have an event loop > > 8. I cannot serve static files from disk > > 9. I am not compiled to native code > > 10. I run in a datacenter behind... a web server > > 11. The irony is not lost on me > > 12. Please close this file > 13. > > 13. ## Conclusion > > 14. No. Just no.

Also, the "Clawd"... :)

dorianniemiec··on Rust--: Rust without the borrow checker
Rust++? :)
dorianniemiec··on Rust--: Rust without the borrow checker
Uh oh, this might look like a potentially memory-unsafe version of Rust...
dorianniemiec··on Show HN: BusterMQ, Thread-per-core NATS server in Zig with io_uring
I'm also building a network server with thread-per-core and io_uring, except it's a web server, it's written in Rust, and io_uring is provided by a fork of Monoio runtime (I forked it to make it work with Windows and FreeBSD).
dorianniemiec··on Tell HN: Happy New Year
Happy New Year!

In 2025, I have learned Rust by creating a project in it (a web server), and learned a lot about web servers and reverse proxies along the way. I have seriously leveled up as a developer.

I have also created what's now the most popular project I have ever created.

I think in 2026, I'll go even further!

dorianniemiec··on Acme, a brief history of one of the protocols which has changed the Internet
This protocol definitely made securing the web easier. Thanks to it, I don't need to renew certificates manually (it's now done automatically), which can be tedious...
dorianniemiec··on [dead]
First, thank you all for the feedback and the support your have shown for Ferron 2, when it was a release candidate.

Now that I released Ferron 2, I'm sharing the announcement blog post.

What do you think?

dorianniemiec··on Show HN: I'm rewriting a web server written in Rust for speed and ease of use
But Ferron isn't a state management library for front-end frameworks, it's a web server!
dorianniemiec··on Show HN: I'm rewriting a web server written in Rust for speed and ease of use
Ah... I also saw one more person confused about the title...

By the way the rewrite is still in Rust.

dorianniemiec··on Show HN: I'm rewriting a web server written in Rust for speed and ease of use
Ferron uses a different library for TLS - Rustls.

You can read how Rustls compares to other TLS implementations, when it comes to implementation vulnerabilities, from the Rustls manual: https://docs.rs/rustls/latest/rustls/manual/_01_impl_vulnera...

dorianniemiec··on Show HN: I'm rewriting a web server written in Rust for speed and ease of use
> If you just need some www server quickly pointing your domain to some other dude domain is not the way to go.

Yeah. But as I said before, people installing Ferron on their servers don't need to use this demo. Oh, and people using this demo don't need to install Ferron on their servers.

I just added two notices to this demo:

> Note: After completing the demo, it's recommended to delete the subdomain you have just created to prevent security issues.

> This demo setup is optional and exists only to demonstrate automatic TLS functionality. You do not need to point any subdomain to demo servers for normal use of Ferron.

dorianniemiec··on Show HN: I'm rewriting a web server written in Rust for speed and ease of use
Thank you!
dorianniemiec··on Show HN: I'm rewriting a web server written in Rust for speed and ease of use
Thank you! :)

Wishing the best for your concept too!

dorianniemiec··on Show HN: I'm rewriting a web server written in Rust for speed and ease of use
Thank you! You can contribute to https://github.com/ferronweb/ferron, if you want to.
dorianniemiec··on Show HN: I'm rewriting a web server written in Rust for speed and ease of use
No problem! I'm rewriting the codebase of Ferron (the rewrite is still in Rust), to follow some suggestions people made for the web server (faster async runtime, different configuration format). The original codebase would have been bit hard to work on to follow these suggestions...
dorianniemiec··on Show HN: I'm rewriting a web server written in Rust for speed and ease of use
Thank you!

> Did you benchmark against other Go web servers like Caddy or fasthttp?

I have already benchmarked Ferron against Caddy! :)

> so I’d love to hear more about how your server handles concurrency or large responses.

Under the hood, Ferron uses Monoio asynchronous runtime.

From Monoio's GitHub repository (https://github.com/bytedance/monoio):

> Moreover, Monoio is designed with a thread-per-core model in mind. Users do not need to worry about tasks being Send or Sync, as thread local storage can be used safely. In other words, the data does not escape the thread on await points, unlike on work-stealing runtimes such as Tokio. > For example, if we were to write a load balancer like NGINX, we would write it in a thread-per-core way. The thread local data does not need to be shared between threads, so the Sync and Send do not need to be implemented in the first place.

Ferron uses an event-driven concurrency model (provided by Monoio), with multiple threads being spread across CPU cores.

dorianniemiec··on Show HN: I'm rewriting a web server written in Rust for speed and ease of use
Oh, nice to meet you!

> TLS (HTTPS) can be easily enabled by default, but it requires certificates. This requires a learning curve for the application developer but can be automated away from the user.

Yeah, these certificates can be obtained from Let's Encrypt automatically.

> Everything executes faster when WebSockets are preferred over HTTP. An HTTP server is not required to run a WebSocket server allowing them to run in parallel. If the server is listening for the WebSocket handshake message and determines the connection to instead be HTTP it can allow both WebSocket and HTTP support from the same port.

Oh, seems like an interesting observation!

dorianniemiec··on Show HN: I'm rewriting a web server written in Rust for speed and ease of use
Thank you! Excited to see what will you serve with Ferron.
Page 1 of 4Next →