That being said, $10/mo is also expensive.
The workaround I found is using Kagi Ultimate. I get access to Claude (and I'm still able to attach files + access a dozen other LLMs) for $25/mo, so I was able to cancel Claude and keep Kagi and get the best of both worlds from either product.
Side note: incredible that a small team like Kagi's can somehow use LLMs more effectively in search than a company that has years of search experience (i.e. Google)
Quality search results ultimately save time digging through poor quality search results. Add up 300+ searches per month and surely you're hitting minimum wage value at least.
The value proposition is absolutely there at $10.
> Based on the elements you’ve described—eyes, a pineapple, a bucket of water, a house of cards, chess, and a time loop—it’s challenging to identify a single music video that encompasses all these features.
https://ericrafaloff.com/your-putty-generated-nist-p-521-key...
> We’ve designed our telemetry system to collect data on “events”. An event is essentially an action, like: Finishing our in-app onboarding, Unlocking 1Password, Creating a new item, Filling an item in a website or app.
> We won’t be collecting your saved passwords, passkeys, usernames, and any URLs associated with your items. Your private information is just that – private.
With it also being opt-in I dont see an issue with collecting basic numbers for how often people use the plugin or app, as long as they're telling the truth, I think it's fine.
Even as someone who never visited KF before this saga, you must admit that this campaign against KF is coordinated and that you can't expect either side to be completely honest. It's already been documented that Keffal's side has been either dishonest or has strongly exaggerated details during parts of the campaign and her origin story really doesn't help her case. I've also seen some of the rhetoric coming from KF, and it's incredibly toxic and understandable why someone wouldn't want it online.
Cloudflare originally voiced their support (albeit not mentioning KF by name) for offering security services to _any_ customer -- a stance I can understand and can support. But it's difficult for me to keep supporting CF because it took less than 1 week for them to go back on their public stance. It also doesn't help that CF was not more specific about the threat made that made them change their mind. It would help me be more on their side instead of it just looking like a copout.
If I had to choose a bucket, I'd lean more into the neutral category, because this situation is just so incredibly complicated and nuanced if you've looked deeper than the news stories. I don't think a coordinated social media campaign started by a leader with an incredibly dubious history should win outright, and I can completely understand CF's position of not wanting to be affiliated with KF anymore.
Stating the obvious. Coordination is a prerequisite for any campaign/change movement, and no one is perfect.
But on coordination: I began advocating against CF after listening to @lizthegrey [1], a leader of the campaign, lay out the evidence of harassment - not exclusive to keffals - going back years [2]. (I mildly trust keffals by proxy, but I too am unsure of her history.)
My involvement of message amplification was purely voluntary and I received zero direction from anyone. The new friends I made along the way seem to be in the same boat. This was organic political discourse over an issue that finally came to a head.
[1] https://twitter.com/lizthegrey [2] https://twitter.com/lizthegrey/status/1560771369134170113
All SQL advice has to take _context_ into account. In SQL, perhaps more than anywhere else, context matters. There's lots of excellent SQL advice, but most of it is bound to a specific context, and in a different context it's bad advice.
Take for example the parent comment above; In their context the CPU of the database server is their constraining resource. I'm guessing the database if "close" to the app servers (ie low network latency, high bandwidth), and I'm also guessing the app developers "own" the database. In this context moving CPU to the app server makes complete sense. Client-side validation of data makes sense because they are the only client.
Of course if the context changes, then the advice has to change as well. If the network bandwidth to the server was constrained (cost, distance etc) then transporting the smallest amount of data becomes important. In this case it doesn't matter if the filter is more work for the server, the goal is the smallest result set.
And so it goes. Write-heavy systems prefer fewer indexes. Read-heavy systems prefer lots of indexes. Databases where the data client is untrusted need more validation, relation integrity, access control - databases with a trusted client need less of that.
In my career I've followed a lot of good SQL advice - advice that was good for my context. I've also broken a lot of SQL "rules" because those rules were not compatible, or were harmful, in my context.
So my advice is this - understand your own context. Understand where you are constrained, and where you have plenty. And tailor your patterns around those parameters.