HN user

tasn

1,891 karma

Founder and CEO of the Svix Webhooks Service (YC W21) - https://www.svix.com

https://stosb.com

https://www.etebase.com

https://www.etesync.com

https://github.com/tasn

https://mastodon.social/@tasn

https://twitter.com/TomHacohen

Contact: at tom @ any of the domains above.

Posts57
Comments519
View on HN
github.com 2mo ago

Show HN: Diom – Back end primitives (queue, rate limit, etc.) in one Rust binary

tasn
2pts0
github.com 2mo ago

Show HN: Diom – Open-source back end primitives with no runtime dependencies

tasn
4pts0
github.com 2mo ago

Show HN: Diom – Backend primitives (queue, rate limit, etc.) in one Rust binary

tasn
5pts0
stosb.com 6mo ago

Recovering Data From A Corrupt tar Archive (2018)

tasn
3pts0
www.svix.com 8mo ago

Row Level Security: Defense in Depth

tasn
2pts0
www.svix.com 9mo ago

Why Postgres FDW Made My Queries Slow (and How I Fixed It)

tasn
3pts0
www.svix.com 9mo ago

Preventing Invalid Database Access at Compile Time

tasn
2pts0
security.googleblog.com 1y ago

OSS Rebuild: open-source, rebuilt to last

tasn
180pts62
www.bloomberg.com 1y ago

OpenAI reaches agreement to buy Windsurf for around $3B

tasn
155pts2
twitter.com 1y ago

In our code base Cursor is faster than Rust analyzer

tasn
4pts0
www.recall.ai 1y ago

Reducing Latency by 83% with Esoteric Linux Process Flags

tasn
6pts0
lwn.net 1y ago

Linus on Rust and the Kernel DMA Layer

tasn
91pts59
www.svix.com 1y ago

Robust APIs Through OpenAPI Generation

tasn
1pts0
simonwillison.net 1y ago

DeepSeek-R1 and Exploring DeepSeek-R1-Distill-Llama-8B

tasn
7pts0
twitter.com 1y ago

Redis is trying to take over the all of the OSS Redis libraries

tasn
178pts94
www.svix.com 1y ago

Webhook Versioning: How to Version Webhooks

tasn
1pts0
www.svix.com 1y ago

Incomplete TLS Certificate Chains and How to Fix Them

tasn
1pts0
www.svix.com 2y ago

Common Webhook Signatures Failure Modes

tasn
1pts0
5x9s.svix.com 2y ago

APIs Are an Unbreakable Contract

tasn
1pts0
www.svix.com 2y ago

Avoiding Bugs with Strong Static Typing Using Rust

tasn
4pts0
www.svix.com 2y ago

Using the Type System Effectively

tasn
1pts0
www.svix.com 2y ago

The State of Webhooks 2023 [pdf]

tasn
3pts0
www.svix.com 2y ago

Strong static typing, a hill I'm willing to die on

tasn
394pts852
www.svix.com 2y ago

Common HTTP Implementations Quirks

tasn
1pts0
news.ycombinator.com 2y ago

Tell HN: X (Twitter) Is Down

tasn
3pts2
www.svix.com 2y ago

Incomplete TLS Certificate Chains and How to Fix Them

tasn
4pts0
www.svix.com 3y ago

Spotting and avoiding heap fragmentation in Rust applications

tasn
138pts68
www.svix.com 3y ago

Using Subnet Filtering for Enhanced SSRF Protection

tasn
2pts0
twitter.com 3y ago

We're getting “helpful” ChatGPT generated comments on the Svix GitHub repo

tasn
24pts13
www.svix.com 3y ago

Securely Verifying Signature Hashes

tasn
1pts0

I've lived both in the US and the UK.

The US has the 5th amendment protecting you from self-incrimination, while in the UK you can go to prison for not divulging your encryption password (even if you forgot it!).

The US doesn't have ISP/DNS level blocking for all I'm aware of, but there's the ultimate blocking that sometimes does happen (FBI raiding your servers, even if outside of the US).

The US has the 1st amendment protecting speech, while in the UK people routinely get arrested for social media posts.

Maybe there are areas where the UK is better about privacy/freedom than the US, but no examples immediately come to mind.

This, and other similar legislation, serve as a constant reminder of why the American founding fathers had to revolt against tyranny, and why constitution amendments like the 1st and 4th exist. The 4th in particular was written as a response to a British law similar to Chat Control (writs of assistance).

Sure. But looking at all of the downed Israeli crafts, they are all $2-5m drones (all 18 of them).

For perspective: Patriot missiles cost $4m each.

These are two sides of the same coin. Go has its quirks because they put things in the standard library so they can't iterate (in breaking manners), while Rust can iterate and improve ideas much faster as it's driven by the ecosystem.

Edit: changed "perfect" to "improve", as I meant "perfect" as "betterment" not in terms of absolute perfection.

C Is Best (2025) 7 months ago

I think this framing is a bit backwards. Many C programs (and many parts of C programs) would benefit from being more like Go or Python as evident by your very own sds.c.

Now, if what you're saying is that with super highly optimized sections of a codebase, or extremely specific circumstances (some kernel drivers) you'd need a bit of unsafe rust: then sure. Though all of a sudden you flipped the script, and the unsafe becomes the exception, not the rule; and you can keep those pieces of code contained. Similarly to how C programmers use inline assembly in some scenarios.

Funny enough, this is similar to something that Rust did the opposite of C, and is much better for it: immutable by default (let mut vs. const in C) and non-nullable by default (and even being able to define something as non-null). Flipping the script so that GOOD is default and BAD is rare was a huge win.

I definitely don't think Rust is a silver bullet, though I'd definitely say it's at least a silver alloy bullet. At least when it comes to the above topics.

C Is Best (2025) 7 months ago

The recent bug in the Linux kernel Rust code, based on my understanding, was in unsafe code, and related to interop with C. So I wouldn't really classify it as a Rust bug. In fact, under normal circumstances (no interop), people rarely use unsafe in Rust, and the use is very isolated.

I think the idea of developers developing a "bugs antenna" is good in theory, though in practice the kernel, Redis, and many other projects suffer from these classes of bugs consistently. Additionally, that's why people use linters and code formatters even though developers can develop a sensitivity to coding conventions (in fact, these tools used to be unpopular in C-land). Trusting humans develop sensibility is just not enough.

Specifically, about the concurrency: Redis is (mostly) single-threaded, and I guess that's at least in part because of the difficulty of building safe, fast and highly-concurrent C applications (please correct me if I'm wrong).

Can people write safer C (e.g. by using sds.c and the likes)? For sure! Though we've been writing C for 50+ years at this point, at some point "people can just do X" is no longer a valid argument. As while we could, in fact we don't.

I'm sure that if they don't already support it, they will add it. TBH, we at first didn't have it either, and then we added both that as well as custom attributes as we realized the way people setup their observability stack is extremely varied!

Congrats OpenRouter on the launch! I'm a big fan of this pattern. We do the same in Svix for our customers, but also we now make it easy for our customers to do the same.

For other companies looking to build something similar, you can use Svix Stream[1] that offers a lot of these integrations out of the box, with more coming.

1: https://www.svix.com/stream/

Even if true (and I agree with sibling that I don't think that it is), base64 encoding/decoding feels like one of those things you'd have a micro benchmark for regardless. It's also shocking that the gap is so wide, as I feel like people working on such things would start with a fairly optimized v1.

I wonder if this is why Firefox feels so sluggish with some more complex SPAs.

Congrats on the launch, I just wanted to correct a few things about Svix (I'm the founder of Svix) that I saw there:

* Svix starts from $0/month which many companies (including very large ones) use, including in production.

* Svix doesn't have a $250/month tier, and you can go to prod with the $0 tier. Not sure where that came from.

* Svix is open source (open core) so you can run on your own infra, and there's no vendor lock-in.

There are a lot of reasons. Just three from the top of my head:

1. The way Unix works, a directory is a file, so if you can write in a directory you'll also be able to move directories around (and thus break the structure you mentioned completely).

2. Doesn't make sense for multi-user. Yes, I understand most people have their own computers, but (1) why design it in a way that breaks multi-user unnecessarily? (2) there are a lot of utility users, and having them get access to user files because of the way this is structured is silly.

3. `grep -r` is going to be a pain in the ass when searching your own files, because it'll also search all the other system subdirectories too.