[1] https://github.com/Gargron/blurhash/
[2] https://github.com/Gargron/blurhash/blob/master/ext/blurhash...
[3] https://code.fb.com/android/the-technology-behind-preview-ph...
If you have any questions, feel free to ask.
The main goal of it is to be a placeholder while images load, but it also has a nice secondary use for hiding sensitive images here. Other aims of the algorithm is to be very simple and easy to implement, and to use very small amounts of data to make it comfortable to include in databases and responses (Facebook uses 200 bytes of data, BlurHash uses around 30, depending on settings.)
I normally hate this kind of blur and I'm not sure if this is worth such a big release note. I normally see such filters applied (forced on users by platform conventions), requiring a login to "unlock" and often you find yourself wondering why it was blocked in the first place....
Could be good to hide spoilers thought
On our instance, we do not allow "untagged" (not hidden behind a content warning) pornographic content. If an instance allows this, we "silence" them - meaning that none of their content shows up on any public timeline anymore. People can still follow users from there, but that's their choice, and none of my business - and nobody is getting a facefull of tiddy if they don't specifically want it.
If an instance is generally acting in good faith, but allows images that I definitely do not want cached locally, another tool you have is "media reject" an instance - in that case, no media from that instance will be downloaded. Can still follow, but have to click through for images, and no thumbnails. We try to avoid this, but, you know.
The nuclear option is to just defederate from an instance entirely. We also try to avoid this, but it's a very effectice "ugh god I'm not dealing with this" tool.
edit: That's on a macro level, of course - we can also do the same thing to single users, and that's obviously preferred if it's just one idiot. a user submitting a report can also choose to forward the report the the originating server, which can be helpful to get a problem at the root.
Twitter sounded like a dumb name too, but they kept it and now nobody thinks twice about it. (Can you imagine: "Twit means idiot, nobody will use this service because of that!") Most creative names sound dumb until they stick around long enough.
Is it, though? I mean, yeah, it's no Google or Bing or Yahoo, but it also doesn't have Google or Microsoft or Yahoo money, either.
It's on the brink of breaking 1% in the US [1]; that might seem small, but that'd be a good 33% of ChromeOS users or 10% of macOS users. Not bad, considering.
And really, blaming DuckDuckGo's branding for its poor marketshare is pretty ridiculous given the competition. I mean come on, what kind of a name is "Google"? Or "Bing"? Or "Yahoo"? The ridiculousness of the branding doesn't seem to actually be a problem, since that's actually constant across all of the top four browsers in the US.
[1]: http://gs.statcounter.com/search-engine-market-share/all/uni...
[2]: http://gs.statcounter.com/os-market-share/all/united-states-...
Search engines are a mature market. You're not going to displace Google unless you manage to disrupt the entire industry somehow; social tried and failed at this, so it's not clear what this would even mean at present.
As a challenger in a mature market, DDG has the right strategy, and they are playing their hand successfully. I seriously doubt that branding is holding them back.
Nothing's stopping someone from using it and at the same time thinking it has a poor name.
But anyway, what the current users think of it is hardly a sign in favour of the name, because that user base doesn't seem very big for a tool whose value largely comes from the size of its network of users.
The relevant question is how the name comes across to the average potential user.
Mastodon = extinct elephant-like mammal
This is why successful companies hire marketers.
Having been in the room when working on branding, there's always plausible objections unless the brand is completely anodyne, and by extension terminally forgettable. At the end of the day you just have to go with something that isn't terrible.
"Tweet" reminds people of birds. As in "a little bird told me". Which is appropriate for a gossip style network.
Breaking news. In a series of explosive toots...
The foreign minister was forced to resign after a number of offensive toots...
OMG, your toots are so funny!...
Everyone's talking about what J K Rowling tooted today...
I can't believe you tooted that!...
...and so on
If you think I'm joking then that shows how bad a name "toot" is. Because these are all phrases that people would say about tweets, and which need to sound non-ridiculous for any such system.
But then with Toot, obviously that wasn't what they were going for. ¯\_(ツ)_/¯
Mastodon seriously needs a rebrand.
More seriously, the American Heritage Dictionary gives the following definition:
v.
To sound a horn or whistle in short blasts.
v.
To make the sound of a horn or whistle blown in short blasts or a sound resembling it.
v.
Slang To snort cocaine.
None of which is to fart. I do wonder if that meaning is a regionalism?If CockroachDB was being sold to the average person, it'd be an awful name from a branding perspective.
In reality, it's being sold to nerds who probably aren't as off-put by the name and are more interested in what it does as a database. To hit the point home, the database is designed with resilience in mind, just like actual cockroaches!
For something being marketed to the masses, Mastodon isn't great branding. Nobody thinks of Mastodons when thinking of any form of communication, but we all hear birds tweeting every day and have been used in real life to send messages. When asking people to think of something "cute", nobody is going to say "a mastodon". The term "tweet" is considered cute and inoffensive. But "toot"? Most people I know associate that word with flatulence.
Maybe the use of the word "toot" is an subtle admission that most of what people will say on social media is basically shit?
I'm sorry, but nerdy programmers who work on open source are terrible at marketing and have been so since time immemorial. If they could have simply named their software better, they might have had a shot at a "Year of the Linux Desktop". It's like they forget that most people aren't geeks, and then they wonder why the general public doesn't [knowingly] use any of their stuff.
This seems like backwards reasoning. If you named a new platform after pigeons, which were actually used for transmitting information, you'd get critics saying "It's so archaic, nobody has used pigeons for 80 years!" Birds carrying messages is just as "extinct" of a metaphor as Mastodons are as an animal.
Every single popular service today has an utterly awful name. It did not stop them.
Same image will result in same hash. Different images will often result in different hashes. That makes it a valid hash.
You could but it would be about as misleading as a sentence could possibly be.
The purpose of compression is to preserve content as much as possible: similar inputs should give similar outputs, and the output should provide as much information about the input as it can.
Hashing deliberately does the exact opposite - slightly different inputs should give wildly different outputs - as its primary purpose in the case of crypto hashes, and in the case of index hashes as a performance optimization (which is the primary purpose of index hashes).
But you can have hash functions with the goal of preserving similarity. For example soundex is a hash function with that constraint. From: https://pdfs.semanticscholar.org/06d6/8587c27058dd6ab3fb8238...
> For example value 1 = "Damieva" and value 2 = "Dameiva." These two values will produce the same Soundex hash value, creating a match.
There's also the whole class of LSH https://en.wikipedia.org/wiki/Locality-sensitive_hashing
As for hash functions having the desired property of different inputs leading to vastly different outputs, that only describes one subset. There are many hash algorithms that aim to achieve precisely the opposite, such as simhash.
f(x) = 1 is a hash function. A catastrophically bad one to use for something like a hashmap, but a hash function nonetheless.