Hacker News new | past | comments | ask | show | jobs | submit login
Improving support for adult content on Mastodon (joinmastodon.org)
217 points by zach43 51 days ago | hide | past | web | favorite | 85 comments

There 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...

I 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.)

Off 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.

Many, many years ago, yes. Well remembered.

I'd just like to say thanks for creating Wakaba and Kareha and furthering internet culture (and its study). I can't begin to recount the times I had hosting a small board with a few friends and of course the good experience on all the Wakaba boards I used, and my blog which for a while was running on an admin-OP-only basis. Wakaba was arguably what got me into Perl.

trev and acostoss (from our same community) are also lead devs on mastodon.

They both aren't really anymore, but they do hang out.

Reminds 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

This 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).

How 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.

Mastodon doesn't. It's the software. Instance (server) administrators and moderators choose to handle reports.

One 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.

I 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.

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.

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.

A 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.

> 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-...

I 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

On 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.

> 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.

Twitter = cute birds chirping at each other to communicate

Mastodon = extinct elephant-like mammal

This is why successful companies hire marketers.

Funny, 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.

What's not cute about elephants? Especially fluffy ones?

"Extinct" is not really a good idea to associate your brand with.

In the world of outdoor equipment alone, two of the brands I like the most were named after extinct animals; Arc’teryx (referring to the Archaeopteryx) and Mammut (mammoth). Both of whom you will find a lot of products from in any decent sports store.

And it’s not just the names — look at their logos.



The first one is straight up the fossil skeleton of the animal they based their name on! If that doesn’t spell extinction I don’t know what does.

These two companies make jackets, climbing harnesses, trekking shoes, backpacks and more.

I doubt that either of these two that I mentioned have been negatively impacted by the fact the animals they have based their names and logos on are extinct.

(My personal opinion is that it makes them cooler even — the prehistoric times and the animals that used to roam the earth are very fascinating to me. And I think a lot of people agree. Look for example at how popular the Jurrasic Park movies were. People love this stuff, don’t they?)

Well, isn’t that the point? The intended association is supposed to be with paleontology, a type of outdoors excursion. It’s aspirational marketing—maybe if you wear an Arc’teryx jacket you’ll be equipped to go out in the wilderness and discover ancient fossils or something.

The kind of sentiment that is successful in mountaineering is not the kind of sentiment that is successful in social media.

That really, really isn't a problem. It just isn't.

True. But thinking ahead "Resurrected" could be awesome.

And 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.

[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.

That honestly all sounded ridiculous a decade ago with "tweet", too. The success of the platform has normalised the nomenclature.

I don't agree with that at all.

It's difficult to show evidence for the absence of something, though.

It'd be possible to show evidence of it, like that every time the word "tweet" was brought up the were people saying it sounded ridiculous and embarrassing.

I dunno, it's not any more funny than if you substituted tweet in each of those.

It’s less funny because of the implied association with flatulence.

Perhaps I'm just too childish, but that actually makes it funnier for me.

I meant the other way around, i.e. we agree.

Most stuff on Twitter is mental flatulence ...


Interestingly "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. ¯\_(ツ)_/¯

subversive metal ¯\_(ツ)_/¯

People called the past tense of tweet a "twat" many years ago.

This 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.

mastodon's tooting...

Exactly, it's really gross. This isn't going to catch on in the mainstream.

Mastodon seriously needs a rebrand.

Interestingly it is relatively popular in Japan (to the point where someone non-technical asked me if I used it the other day!) It's really only an issue for English speakers (though in the context of HN that seems like the whole world ;-) ).

I think it would be pretty darn easy to maintain a rebranded fork, though.

It is also not an issue for "English speakers", just a subset of them.

Mastodon and similar projects like Pleroma are old school wild-west open source distributed endeavours, not "notice me, Facebook-senpai!" SV startups. Anyone who thinks that the developers and users involved in those projects give a damn about branding is deeply out of touch with that culture.

It works in german. "tröten", also the original developer is from germany.

Social communications software is all about the number of users. It needs to able to catch on everywhere. A term that sounds embarassing to many of its potential users is a real problem.

As a modestly funded project, Mastodon is never going to achieve "hockey stick" growth, and it would probably be overwhelmed if this happened. It's better for them to pursue a strategy of gradual, steady growth. Mastodon is continuing to grow steadily, and it does so in the face of established players who can outspend and outrun them. 2 million users is pretty damn good for an open source project that doesn't have a marketing budget to speak of.

In addition, it's time to drop the notion that every platform has to serve every type of user. As demonstrated by the problems facing Twitter, it is probably better to have many different platforms serving different audiences. Mass media inevitably reaches for the lowest common denominator.

The terminology is still going to seriously hinder uptake. All of what you said can be true and better terminology would still be better for them.

I guess I'm a cynic, but:

> Breaking news. In a series of explosive toots...

> The foreign minister was forced to resign after a number of offensive toots...

> Everyone's talking about what J K Rowling tooted today...

If the age of tweet-reporting ends because of "toots" then I am all for it. As for your other examples, you have a decent point.

> OMG, your toots are so funny!...

> I can't believe you tooted that!...

I can see how this might feel weird for some people, at least in the English-speaking world. But people thought "tweeting" was ridiculous, and they made fun of it relentlessly. In the end it doesn't matter all that much.

> But people thought "tweeting" was ridiculous, and they made fun of it relentlessly.

I don't think the terms "tweeting" and "tooting" are in the same ballpark in terms of how ridiculous they sound to people.

> In the end it doesn't matter all that much.

But naming does matter, which is why companies spend huge sums on it each year.

(Btw I removed those examples from my earlier comment as I felt they weren't relevant to the topic we were originally discussing, which was the name Madstodon)

Honestly, the name doesn't matter once the network effect kicks in.

But the naming (especially "toot", less so "Mastodon") will likely stop the network effect kicking in IMO. I think it's that bad.

Just your opinion.

to 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:

    To sound a horn or whistle in short blasts.
    To make the sound of a horn or whistle blown in short blasts or a sound resembling it.
    Slang To snort cocaine.
None of which is to fart. I do wonder if that meaning is a regionalism?

It very much is, and those who live in those regions have no idea that it is.

but which regions. i'm from california.

I hear mastadon and I immediately think of that metal band, Mastadon: https://www.youtube.com/watch?v=s6WGNd8QR-U

Probably because the software was named, in part, after the band

Really goofy move, in my opinion. The next big social network, Aerosmith! Well, a lot of people don't like that band, but that's cute.

Haha, 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.

Mastodon 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.

Not as bad as cockroachDB at least.

Better than cockroachdb but not exactly a noteworthy brand name.

It 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.

> 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.

Except, with Mastodon, there isn't even a metaphor. At least Spotify (to look at another example), which is a terrible name, is a non-sense word without any baggage.

"Pidgin" or some variation is actually a great name for a communication tool. You're better at naming things than you realize.

http://pidgin.im was a great chat client when I had friends/clients who gtalk, XMPP and sametime. Even supports OTR encryption.

You 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.

>Every single popular service today has an utterly awful name. It did not stop them.

Like what? I can't think of any bad ones that people use on a regular basis.

Google, Facebook, Twitter...

You are USED to them, so they don't sound stupid. If you heard them for the first time, they'd sound utterly stupid.

Facebook sounds like what it is. Twitter has been discussed in this thread elsewhere (bird imagery makes sense). Google is essentially a nonsense word that turns out to be a real word based on a really big number (which makes sense).

Someone recommended finding evidence of people complaining about names back when these services first came out. I don't recall ever thinking any of these names were stupid, despite other issues I had with the services.

Worst part about that name is that most Americans seem to be hell-bent on spelling it as "Mastadon".

Exactly 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.

Now 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.)

I 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?

You 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.

> 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).

If 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

From 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.

Technically 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.

Although if you’re implementing a hashmap from scratch, that is a very good hash function to use temporarily while building collision management.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact