HNHacker News
TopNewBestAskShowJobs

cetra3

646 karma · joined June 5, 2014

submissionscomments
cetra3··on Why stdx is not on crates.io
It just looks like stdx has copied stuff from crates and put it in a git repo.

It feels like this is worse than a package manager? As in why would I trust a random git repo to keep things up to date over the officially published channel?

cetra3··on Zig → Rust porting guide
In pretty much every bit of code I've written both professionally and leisurely I have always used tokio.

However, there are reasons why you might not want to use it:

- You don't need async at all

- You want to own the async execution polling completely

- You want some alternative futures executor like io uring (even though tokio-uring is a thing)

cetra3··on I tried building my startup entirely on European infrastructure
Isn't your password manager a single point of failure?
cetra3··on Show HN: A MitM proxy to see what your LLM tools are sending
Yeah would love this for logfire
cetra3··on Bluetooth Headphone Jacking: A Key to Your Phone [video]
Yes it is, page 29 of that PDF lists it:

- Sony WH-1000XM4

cetra3··on Rootless Pings in Rust
UDP and TCP are Layer 3 protocols, and so is ICMP. They all fill the same bits within network packets, like at the same level. So sending an ICMP packet (protocol 1) is not the same as sending a UDP packet (protocol 17).

You can see a list of network protocols in /etc/protocols actually, or here: https://www.iana.org/assignments/protocol-numbers/protocol-n...

cetra3··on Migrating the main Zig repository from GitHub to Codeberg
For those like me who are obviously blind, the new location is at https://codeberg.org/ziglang/zig
cetra3··on Several core problems with Rust
> Node.js and Go are considered practically safe language

Node JS has had vulnerabilities in the past: https://www.cvedetails.com/cve/CVE-2021-22940/

Go is also not Memory safe: https://www.ralfj.de/blog/2025/07/24/memory-safety.html

cetra3··on Ask HN: What are you working on? (September 2025)
I just added a deco planner for DiveDB (https://github.com/cetra3/divedb): https://divedb.net/dives/plan

Need to add gas planning next!

cetra3··on Show HN: Leaflet.pub – a web app for creating and sharing rich documents
I can't seem to scroll horizontally very easily, like I have to middle click drag in empty space, is there any reason you are hiding scrollbars?
cetra3··on The "full-stack framework" fallacy
"Really cool" is not compelling enough for me to decide to build a product against something like this. Here is, at a minimum, I would require to even consider:

- Comparisons against other types of stacks, like laravel livewire or phoenix liveview

- Performance metrics/stats/benchmarks whatever. You need to be faster and more robust than the other things out there, or provide some other benefit

- First Class self-hosted on premise install version without dependency on any cloud provider. Kubernetes helm charts or docker compose stacks or whatever

- I do actually like that you have a time-windowed source available license. That is something that alleviates the concern if you go under

- Jepsen or similar analysis, need to make sure whatever consistency guarantees you are advertising hold up

cetra3··on The "full-stack framework" fallacy
This looks like a (not even) thinly veiled advertisement for their Convex product: https://www.convex.dev/.

I am interested in knowing who would make a decision to pay for something like this when there are a gamut of open source options available. Like what is the compelling reason to use something like this.

cetra3··on RAGFlow is an open-source RAG engine based on OCR and document parsing
I don't consider this strictly open source if components it depends on (I.e, the LLM) is closed source. I've seen a lot of these Fauxpen source style projects around
cetra3··on Ansel
I use Darktable quite extensively for underwater photos, but keen to try Ansel out and see if it's less friction.

An example of friction in darktable:

- I have an external strobe which means I have to put the exposure down to its lowest when shooting, otherwise everything is washed out. Darktable in newer versions has "Compensate camera exposure" on by default, which washes out all the images until I click it off. I'm sure there's a way to make this checkbox disabled by default, but why can't it accept what comes out of the camera?

- No favourites: there used to be a way to have all your panels in a favourites tab. This was great as I usually only use a handful of modules that I use. It's gone in later versions

- The "color balance" panel, not to be confused with "color balance rgb", it's not in any of the default tabs but useful for saturation adjustments. Why are some of these useful modules hidden? Shouldn't all modules be available by default. The only way you can get to it is by searching.

- White balance: there are now two modules and it warns you if you adjust one or the other: "white balance" the standard one on the "base" tab and "color calibration" tucked away on the "color" tab. Both modules are turned on by default, but if you adjust one or the other without turning one off it has a big red warning.

- One upgrade decided to reset export settings, and so my EXIF data was stripped out when exporting. It took me way too long to figure it out.

cetra3··on Was Rust Worth It?
I think most people are in support of namespacing but it's a big change and will take a while to see through.
cetra3··on Ask HN: Tell us about your project that's not done yet but you want feedback on
Working on & off on a scuba diving site which allows you to log dives, sites, photos & sealife.

Currently only South Australian & Victorian dive sites, but probably the most extensive collection of either.

Live website here: https://divedb.net/

Source here: https://github.com/cetra3/divedb

Currently exploring activitypub integration, being able to log dives and have people follow/comment/react to them from the fediverse

cetra3··on Thoughts on Svelte(Kit), one year and 3B requests later
Thank you! I've tried to address your questions below. Most of these decisions stem from having the backend written in Rust, & using GraphQL. That decoupling in the end made it a lot easier to port from react.

- I am using a rust backend for the static files and didn't want NodeJS part of the request workflow. Most pages aren't changed all that much, like maybe once every few months & so having yet another service as part of the connection flow just adds resources/delay when it's not needed. It's a lot faster/easier/cacheable to serve a static file.

- The prerender doesn't take all that long, maybe a minute or so, it's fast enough for the site as it stands, but if it got super massive it'd be a different story. I throttle how often it happens currently, so that there is a bit of time between pre-renders.

- The frontend communicates to the backend via GraphQL & the backend is not part of svelte kit, it's an entirely separate service, and so things like `page.server.ts` won't apply.

cetra3··on Thoughts on Svelte(Kit), one year and 3B requests later
I've moved my little hobby website to SvelteKit[1] from react and I am not regretting it.. yet.

The only main frustrations I have are:

- Library support is pretty lousy. You need to fudge things around to get working. I.e, with leaflet and others I have vendored in the libs and redone them.

- Incremental static refresh with svelte kit is not really there. I'd like a web hook or api callback that allows me to refresh certain static pages as I know that changes are made. Right now I'm doing a janky refresh using a file lock notifier & it's a blemish on an otherwise great framework.

- The URL routing in svelte kit is... a little ugly. It's really hard when you have an editor open with 5 `+page.svelte` files. I wish they re-introduced file name routes, rather than folder name routes. It is entirely a personal preference I know, but I have seen a lot of negative things around it.

[1] - https://github.com/cetra3/divedb - deployed at https://divedb.net/

cetra3··on Enhancements to the Kagi Search Experience
~7 per day is on the low side for me. I will normally rerun the same search with different terms multiple times, especially if I'm looking for an answer to something highly technical, like easily 5-6 different searches for the same thing. And this happens multiple times per day.

There's something perverse with the incentives here: they make more money if you have to perform more searches.

It doesn't quite sit right in the same way github actions charges per minute: The slower their runners are, the more money they make.

And both of these scenarios there is no user agency to assist with that past a certain point.

cetra3··on Introduction to HTTP Multipart
Shameless plug for my multipart crate: https://github.com/cetra3/mpart-async which I've been using happily in production for a long time now
cetra3··on React is holding me hostage
The example you highlighted as "doing it wrong" is pretty typical for an autosuggest component: Input updates trigger some request, which propagates to some list somewhere else in the dom. As it's loading, a spinner is shown, but when results are retrieved, they're updated again. Throw in apollo to the mix or some other request library, and context is used.
cetra3··on Photographer captures image of rare fish that walks on its ‘hands’
You don't rely on the natural light for these photos, you use a very powerful strobe/flash which allows reds etc.. to come through.
cetra3··on Tumblr to Add Support for ActivityPub
Here's a blog I found had an easy introduction: https://blog.joinmastodon.org/2018/06/how-to-implement-a-bas...
cetra3··on Moving Away from UUIDs (2018)
If you're using them for unguessable random strings then yeah, they're not ideal.

If you're using them for providing a unique id in a distributed system, with very little chance of collision & fitting them in a db column, then they are great.

cetra3··on Microblog.pub – A self-hosted, single-user, ActivityPub powered microblog
> Uses SQLite, and no external dependencies except Python 3.10+

I don't know if it's the way it's been written, but it reads to me that only python is needed, no libraries.

I'm assuming this isn't true though: I can see a lot of libraries: https://github.com/tsileo/microblog.pub/blob/v2/pyproject.to...

cetra3··on Framework is now available in Australia
Why do I need to buy a copy of Windows 11 with this laptop?

Surely I should have the option of excluding it

Also I can't see any discrete GPU options, I'm assuming that'll come later

cetra3··on Random Ultima Online anecdote #2 – Horses inside players (2014)
Yes there was more rare gear, like bone armor that you didn't want to be ganked.

When you died, by either monster or player, your corpse contained all your possessions. If you could get resurrected in time or you had help you could get all your stuff back.

cetra3··on Show HN: Everyone Everywhere All at Once
Chrome is the new IE
cetra3··on Facebook open sources Lexical, an extensible text editor library
Is this in production on Facebook? I have not had the greatest experiences with their rich text editor, from not being able to remove styling on subsequent lines, to getting a nice little note saying that you can't edit rich text posts on mobile. Hoping lexical brings some improvements here.
cetra3··on Will Nix Overtake Docker?
One thing in the blog that is not true is that you can only inherit from a single layer. You can use multi-stage builds to grab & blend layers: https://docs.docker.com/develop/develop-images/multistage-bu.... It is not as powerful as nix, granted, but it is possible.
Page 1 of 4Next →