The plugins are natively compiled Rust crates, not interpreted or dynamically loaded.
We considered WASM and libloading, but plugins often require database connections or other privileges. With WASM, supporting that would be the SDK’s responsibility.
Dynamic loading with libloading didn’t offer enough benefit for this design, so we chose modular crates compiled into the application.
The compile-time choice makes sense for a gateway: plugins sit in the hot path and often need database or queue access, which is awkward to expose through a WASM sandbox. The cost is the workflow verdverm points out: there is no prebuilt image to just pull and run. Do you plan to publish an official build with the default plugin set, for people who don't need custom plugins?
Honestly one of the coolest things you can do for this sort of problem offer a version of the Talos Image Factory, where people can select the combination of plugins and the architecture and get a build.
There can be a lot of permutations to create of course but each one only needs to be built once per version you release.
To limit permutations you can always create pre-selected bundles of related plugins (like package groups on Linux distros) and let people select those bundles.
They can always fall back to building it themselves if they really need to be picky about the plugin selection.
While I don't use EXT4 and haven't for years (so many sexy options these days), it is the default for the large majority of Linux users and the disk layout of choice for every system I install for normal people. Love to see the improvements over the years.
This is great! Always love to see performance improve. I have to admit, anytime I think "gigabytes per second" my mind does not go to Python at all. Would love to see that change.
To avoid the overhead, we could simply adopt pro-consumer practices across the board? Easier than segmenting users and deciding which cancellation mechanisms are available to them based on region.
When folks subscribe, we make it a point to highlight the fact that the app would always have a big red button they could tap at will to either get a full refund (within 30 days) or stop the subscription payments (if after).
Not sure if it was the only cause, but in a month since then, conversion rates 2x'd (~100/mo to ~250/mo), while % of cancel/refund requests have stayed the same.
In this case it very much is. If you have an online sign up but a by mail or phone cancellation process, you went through extra work purely to fuck over the consumer. Complying with this law is just not going the extra effort to scam people.
Compliance also requires proving compliance, which is what the point the grandparent comment was making. Proving you are in compliance to multiple different governmental entities, each with their own form of enforcement, adds further compliance work that needs to be accomplished. It’s why this kind of regulation at the national or supranational level is far superior to municipalities.
It’s an easy rule to comply with and nothing stops you from complying with it everywhere.
We will see a patchwork regime, where companies make it easy to cancel if you’re in NYC or another jurisdiction with similar rules, but difficult otherwise. When you see this, you must remember that the easiest thing would have been to make it easy for everyone to cancel regardless of location. That would be perfectly legal and it would be the cheapest option to build. If a company didn’t do that it’s because they made a deliberate choice to spend more money just so they could continue screwing some people over.
Alternatively, let people cancel easily everywhere. If you think it’s worth the extra revenue to geofence easy cancellations, then—well, you do you, but you are making a business judgment that the additional development cost is justified. This is different from VAT/sales tax etc., where it is in fact impossible to comply everywhere without discriminating by jurisdiction.
Worse by following NYC laws and putting everyone else in a different harder to get away from bucket you may be setting yourself up for future legal problems. You now have a chain of documentation on your evil practices rather than them just being a norm you may have verbally agreed on before.
> While I think this is a good idea, we already have so many different regions to comply with, now we're adding cities....
Lina Khan's FTC passed a rule to make click-to-cancel nationwide in 2024.
It was killed on procedural grounds by the highly conservative Eighth Circuit Court of Appeals.
The take-away from how it was killed boils down to "we (companies) know that we'd lose more than $100 million dollars if people could reasonably unsubscribe rather than deal with our dark patterns".
The old FTC would have been able to fix the procedural problem, but then Trump took office and gutted the FTC and destroyed all the good work it was doing.
Since the federal government is failing us, I support local governments doing the right thing. If enough do, companies will eventually be forced into compliance nationally because it won't be worth the complexity to have hundreds of regional carve-outs.
You can't seriously think this makes you sound like a sympathetic party, right? "Oh no, we have to maintain two codepaths now: the pro-social one for places with functional governments, and the slimy anti-consumer fuck-you one for everywhere else. Won't anyone think of our plight?"
I am not saying the content of the speech is morally equal, but Tor's explicit mission is to make people anonymous and protect speech. The moment you start inspecting it, Tor's mission is negated.
Of course, Tor's partnerships are different than the content distributed through it's network, but I still find it a bit ironic.
They're not talking about inspecting or controlling speech on the network, they're talking about speech outside their network and how it relates to them and their relationship with Mullvad.
In Sweden, we have a meme that goes something like "It doesn't matter if it's untrue, it's still outrageous".
Essentially, you are complaining about something that is simply not the case. As you yourself said, this isn't Tor preventing free speech. This is Tor evaluating their commercial partnerships based on their values and whether or not they are compatible with the speech of their partners. So, it has nothing to do with Tor's stance on or facilitation of free speech. Therefore, there is nothing to be outraged about.
With the advent of LLMs my one true hope for humanity was the final death of the "JS/ilk things" like Electron, React Native, other things like that, and the culture of "everything is TS/JS or can be turned into that". Looks like it's rather growing exponentially.
Cursor is easily the worst experience I've had with an AI harness, yet it was acquired for billions of dollars in spite of being a middleman tied to a ripoff of VS Code. None of the colleagues of mine who were touting it last year are still using it. But if you can make yourself look like the next big thing, you'll get money thrown at you. Just look at Omarchy.
A good experience necessarily takes time and careful thought. Nobody these days can do that while also remaining relevant, or even surviving.
> Cursor is easily the worst experience I've had with an AI harness
I kinda like cursor, mostly because it provides a nice review UI and I can use whatever model I want.
Getting away from all the Claude-speak has been a revelation, and fortunately Anthropic helped me here by hyping up GLM 5.3. Like, if there's an open weight Fable competitor, then why wouldn't I use it?
What do you prefer to Cursor and why? Just asking because I don't really experiment w/ AI harnesses much outside of work, where cursor has a lot of traction, and I'm too burned out to explore much these days
I get your point but cursor is fine. And it might be an unpopular opinion but grok 4.7 is also good inside cursor. So yes it might be acquired for a lot but it kinda worked for both parties well.
So glad I never had to deal with Angular, especially v1. I tried learning it and it just seemed like it would actually make applications more incomprehensible than before. React originally addressed the actual problem that most frameworks mistook for not being that important. I still don't particularly like React, but it makes sense why it became popular.
Go doesn't have a good mod/plugin story for harness devs to provide to their users
I say this as a gopher who also has a custom harness written in Go, it's a real challenge compared to the TS setups, but TS plugins are also a security concern
I agree! Comes with the territory of a compiled language I suppose?
I haven't given this much thought (I also just started with golang last year) but I'm assuming the only real path here is to provide extension SDKs in Lua or other languages whose interpreters have been implemented in go.
I think that's what grafana's k6 [1] does with a JS interpreter
I was thinking I recalled something like that, but the nice thing about the TS ecosystem is that you can write the same language, importing and using the harness sdk types.
Go has the plugin package, but I haven't actually seen anyone use it (outside of toys and blog posts)
"Both the plugin and the main application must be compiled with the same Go toolchain version, build tags, relevant build flags, environment settings, and common dependency source on the same platform."
Yikes that's a hard set of requirements. Makes sense but I can already see a ton of headaches with that
My custom harness has a dagger based environment, binary runs in the host, every tool call and file modification creates a new layer in a container - for better session time travel and forking
It may work for some things, but you really want to be wired into that system to do the more interesting things.
I didn't say it couldn't work, it's just way more complexity and effort with IPC or Go than TS. That's one of the reasons harnesses are choosing TS. It's also a very popular language.
Fully legal for any company to do this btw. They just don't want to. Even in the EU, taking XMR payments is legal, or buying things with XMR, or holding XMR - it's only illegal to list on exchanges.
In the US, transactions over $10,000 need to be reported regardless. I don't know laws in Europe, but I would expect they have something similar. Which is to say, you can accept envelopes of cash only for relatively small amounts of money before you are going to get in trouble yourself. The government doesn't like tax fraud, and without the ability to trace things, they can prove tax fraud just because if there was no tax fraud, you wouldn't have a certain amount of money.
You don't have to report all transactions over $10,000 in cash. Your bank, where you will probably want to keep the money, will report all transaction over $10,000.
courts will see right through any attempt of someone like offering cash for crypto deals claiming they're not a bank. They maybe haven't yet but they will when it becomes important to them.
Businesses (despite common belief) have less free speech power when engaging in commerce. If they said, "Utah law XYZ violates the constitution, call your state legislator", almost certainly protected. Versus: "Here are instructions on how to violate the law" (whether eventually upheld or not), much less sturdy ground.
reply