Something happened the past few years where DDG image search feels like a functionally better product than google image search. I think it's a combination of a simpler frontend, and maybe a simpler "keyword-based" search algorithm (vs google which feels more ML-leaning). Note: I can't prove this claim at all – just a general feeling I have as someone who uses image search a lot.
I've noticed whenever I use Google image search it seems like 90% of the results are Pinterest which I have 0 desire to visit whereas I hardly ever see Pinterest on ddg.
Although DDG doesn't really compete in this niche yet, Google's reverse image search has gotten especially awful recently. Yandex does surprisingly well at it.
Hey everyone! I'm the author of this post and super excited to finally be sharing it with the community. Feel free to ask any questions in the comments.
I'm particularly excited about the typed routing system we were able to achieve with some new typescript language features such as Variadic Tuples[1] and Template Literal Types[2].
If apple can be coerced by governments to scan photos on the serverside then what is the operational purpose of a frontend scan, given what apple is publicly saying they are trying to do? This is the most confusing aspect for me.
Apple will turn it on eventually for non iCloud destined photos (and documents), you don't build a system like this not to use it.
We know Apple concedes to China's demands, and with another Snowden situation, the US would not hesitate to add classified documents to the scan list and identify individuals.
This system will catch no abusers, because they're not Airdropping photos to each other.
And if they're smart enough to use a VPN, they're not storing that on a phone thats logged into the cloud.
And if they're not using a VPN, they can be caught at download time.
I’m pretty excited to see how the api could interop with some new native features of js, like for ex async class functions are now possible and I bet a setup like this could remove a lot of IO overhead in the future
class Test {
async render() {}
}
Kind of hard to come up with a concrete use-case with how little we know about the new features. Still super interesting though!
Interop with language feature is definitely a thing. It helps people to understand a tool without the need of digging into implementation details, since those details are language features that developers already familiar with.