Improving support for adult content on Mastodon
217 points by zach43 6 years ago | 85 comments- lifthrasiir 6 years agoThere is a Ruby port [1] publicly available. From the encoding routine [2], it seems to be an sRGB correction followed by a two-dimensional DCT. The first two bytes encode parameters---the size of the output matrix n x m and the quantization scale used for ACs; next 4 bytes encode the DC, then (nm-1) quantized ACs (2 bytes per AC) follow. The comparison to Facebook's similar solution [3] would be interesting (but I realize that Blurhash tries to hide explicit images, so technically they have different goals).
[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...
- WAHa_06x36 6 years agoI created the algorithm, and there is a proper release of it with documentation and implementations in a few languages coming... "soon". It's a work project, so trying to find time to work on it is always tricky.
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.)
- jim-jim-jim 6 years agoOff topic but I did a double take when I scrolled past your name. Are you the same guy who did some kind of imageboard related stuff years ago? I know that's vague, but my brain is fried and I can't remember why I remember you.
- WAHa_06x36 6 years agoMany, many years ago, yes. Well remembered.
- robobro 6 years agotrev and acostoss (from our same community) are also lead devs on mastodon.
- WAHa_06x36 6 years ago
- jim-jim-jim 6 years ago
- WAHa_06x36 6 years ago
- BlackLotus89 6 years agoReminds me of https://news.ycombinator.com/item?id=15053064
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
- WAHa_06x36 6 years agoThis is used for sensitive images, but also as a placeholder while the full image loads, as the entire blurred image can easily be contained in the JSON data (it's around 30 characters long).
- WAHa_06x36 6 years ago
- leshokunin 6 years agoHow does Mastodon handle governance for content that gets reported? It sounds like a logistics nightmare. It's nice that the apps are getting a way to blur things, but I would imagine that the bigger problem would be bad actors running instances, and finding ways to keep them away.
- proactivesvcs 6 years agoMastodon doesn't. It's the software. Instance (server) administrators and moderators choose to handle reports.
- halcy 6 years agoOne nice thing about a federated system is that admin work is also distributed. I run a small server that has existed for a long time (and has knowledge of / federates to some extent with most of the fediverse as such), and my co-moderator and me have a very manageable administration workload (mind: you only have to moderate content that actually arrives at your instance, not all content that is posted everywhere ever). The Mastodon software (and most other fediverse software) has multiple tools for this specifically.
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.
- proactivesvcs 6 years ago
- _4ziu 6 years agoI really like the idea of Mastodon, but i can't shake this feeling that their name is kind of awful. I get that they're not trying to be exactly like twitter but by comparison, twitter is a much bubblier and friendlier word.
- iamnothere 6 years agoA few people show up to say this every time Mastodon is mentioned. I disagree, it's memorable and I like it. Obviously the users don't mind either.
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.
- philwelch 6 years agoA few people also used to show up to say similar things about DuckDuckGo’s vaguely Fisher-Price branding, and now DDG is still a fringe of the market even in our increasingly privacy-conscious, big-tech-company-skeptical times. Sometimes branding matters.
- yellowapple 6 years ago> and now DDG is still a fringe of the market even in our increasingly privacy-conscious, big-tech-company-skeptical times
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-...
- door5 6 years agoI would propose that bad branding is a symptom of a deeper problem, that the services were designed by engineers motivated primarily by ideology, which is very unlikely to reach a wide audience outside of engineers and activists
- iamnothere 6 years agoOn the other hand, they've been profitable since at least 2015 without invasive tracking. They have a lock on their niche in the marketplace, and their Alexa rank is in the top 200 and rising. Their main competitors are two of the biggest companies in the world, yet they are growing and showing no signs of slowing down. I'd call that a success.
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.
- yellowapple 6 years ago
- jamesrcole 6 years ago> A few people show up to say this every time Mastodon is mentioned. I disagree, it's memorable and I like it. Obviously the users don't mind either.
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.
- CamperBob2 6 years agoTwitter = cute birds chirping at each other to communicate
Mastodon = extinct elephant-like mammal
This is why successful companies hire marketers.
- iamnothere 6 years agoFunny, the first thing I get when I think of a mastodon is fur, and that it's a huge animal. I guess it's all in the eye of the beholder... like most branding, TBH.
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.
- daveid 6 years agoWhat's not cute about elephants? Especially fluffy ones?
- iamnothere 6 years ago
- philwelch 6 years ago
- olah_1 6 years agoAnd the language of "toot" is extremely hokey and will never be taken seriously. It implies farting for most Americans.
"Tweet" reminds people of birds. As in "a little bird told me". Which is appropriate for a gossip style network.
- jamesrcole 6 years ago[Edit: people downvoting this, care to explain what you disagree with in it?]
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.
- jclulow 6 years agoThat honestly all sounded ridiculous a decade ago with "tweet", too. The success of the platform has normalised the nomenclature.
- harpiaharpyja 6 years agoI dunno, it's not any more funny than if you substituted tweet in each of those.
- jclulow 6 years ago
- orblivion 6 years agoInterestingly "Mastodon" seems catchy because it feels inherently subversive. Maybe because I subconsciously think of the metal band.
But then with Toot, obviously that wasn't what they were going for. ¯\_(ツ)_/¯
- d76d6776yudsy 6 years agosubversive metal ¯\_(ツ)_/¯
- d76d6776yudsy 6 years ago
- sadris 6 years agoPeople called the past tense of tweet a "twat" many years ago.
- drusepth 6 years agoThis always felt super awkward, personally, when I (briefly) used Mastodon. I thought "tooting" was a joke but couldn't see any setting to change it.
- 6 years ago
- jonnycomputer 6 years agomastodon's tooting...
- echelon 6 years agoExactly, it's really gross. This isn't going to catch on in the mainstream.
Mastodon seriously needs a rebrand.
- jonnycomputer 6 years agoto be fair, tooting also means to blow one's horn. Which come to think of it, also sounds pretty funny.
More seriously, the American Heritage Dictionary gives the following definition:
None of which is to fart. I do wonder if that meaning is a regionalism?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.
- echelon 6 years ago
- jamesrcole 6 years ago
- all2 6 years agoI hear mastadon and I immediately think of that metal band, Mastadon: https://www.youtube.com/watch?v=s6WGNd8QR-U
- gopher2 6 years agoHaha, it is pretty awful, but they seem like they're getting a little traction at least. So, hopefully serves to make it catchy and memorable. It can happen. I remember plenty of people thought "Twitter" and "tweets" were dumb names too.
- krupan 6 years agoMastodon is fine, I always get the song by Cake playing in my head, but "toots," that's tough. I can think of tooting a horn, but it's hard not to also think of passing gas.
- booleandilemma 6 years agoNot as bad as cockroachDB at least.
- r00fus 6 years agoBetter than cockroachdb but not exactly a noteworthy brand name.
- ravenstine 6 years agoIt depends on who's being marketed to.
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.
- daveid 6 years ago> 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
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.
- WAHa_06x36 6 years agoYou know, you should really be able to just look at the current landscape of popular services to see pretty clearly that having a good name means absolutely nothing whatsoever in terms of becoming popular.
Every single popular service today has an utterly awful name. It did not stop them.
- daveid 6 years ago
- ravenstine 6 years ago
- tknkx 6 years agoWorst part about that name is that most Americans seem to be hell-bent on spelling it as "Mastadon".
- cameronbrown 6 years agoExactly why it's probably a good idea making your app's name sound as it's spelled. Most people are too lazy to remember the difference.
- cameronbrown 6 years ago
- iamnothere 6 years ago
- coldacid 6 years agoNow if only certain instances would actually default to marking all their content as adult content. This is great to have but useless when certain 18+ instances just bare all kinds of smut clear to the timeline. (I'm talking mainly of the *blr instances, in case you haven't already hidden them for yourselves.)
- 6 years ago
- 6 years ago
- barbs 6 years agoI feel like "BlurHash" is a misleading name, since it's not a hash of the image data that gets created, it's just highly compressed to just some data about the colours used. Unless I'm misunderstanding something?
- viraptor 6 years agoYou could say that hash is a very aggressive, lossy compression.
Same image will result in same hash. Different images will often result in different hashes. That makes it a valid hash.
- piaste 6 years ago> You could say that hash is a very aggressive, lossy compression.
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).
- viraptor 6 years agoIf you want specifically a cryptographic/indexing hash, where 1 bit of change in input changes ~50% of bits in the output, then that's one possible goal/restriction. But that's just one kind of hash function.
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
- MattJ100 6 years agoFrom Wikipedia: "A hash function is any function that can be used to map data of arbitrary size onto data of a fixed size."
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.
- viraptor 6 years ago
- piaste 6 years ago
- omegaworks 6 years agoTechnically speaking, a hash is just a function that maps arbitrary data into a fixed size set of outputs.
f(x) = 1 is a hash function. A catastrophically bad one to use for something like a hashmap, but a hash function nonetheless.
- philwelch 6 years agoAlthough if you’re implementing a hashmap from scratch, that is a very good hash function to use temporarily while building collision management.
- philwelch 6 years ago
- viraptor 6 years ago