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).
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.
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.
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....
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.
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.
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.
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.
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.
[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.
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.
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.
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.
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.
> 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)
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:
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?
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.
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.
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.
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.
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.
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.
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.
[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...