Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
A better Mastodon client? (timkellogg.me)
88 points by tkellogg on Dec 21, 2023 | hide | past | favorite | 45 comments


All the AI generated illustrations used in this post appear to show a wooly mammoth and not a mastodon. Here is a nice comparison; the mastodon is on the right: https://en.wikipedia.org/wiki/Mastodon#/media/File:MammothVs...


This is too bad, because I felt the ai images really took away from the content of the post.


OP here. Sorry you had that experience. I recently started doing it. Prior to the AI images, I got a lot of complaints about a “wall of text”, so I was looking for a way to break it up, but also not invested enough to spend much time on it. AI images gives me a sort of 2-for-1, in that I get decent visuals, as well as accurate alt text. idk, maybe i should back off a bit. Suggestions welcome.


If I may be a bit of a curmudgeon for a moment: I've read some number of posts like this recently that had AI-generated art embedded to "break it up", and I've found that the effect is skim skim squint at AI image skim squint at AI image scroll to end

Partly this is because a fun game with AI images is to identify the weird things they do. They have an interesting effect where they look sooooort of okay if you don't actually look at them. In your post for instance, the first image has a wild not-actually-a-pteranodon at left, second image has twins at bottom-right but also is that a caveman partying with antlers on his head in the background?, third image -- what contraption is that wooly mammoth pulling, actually?

And, once the novelty of playing "Find Ten Things Wrong With This Picture" wears off, then the images are exactly equivalent to embedded stock photography from Shutterstock or whatever. Oh look, it's shiny happy people at computers in the middle of an otherwise interesting essay on the transformer architectures of large language models.

(I enjoyed the rest of the content of your post. Amazing how effectively these tools are becoming productivity multipliers for the people experimenting with them.)


In this post, you're describing software that has a UI. How about some more screenshots or videos of it?

Also, I know most readers are on mobile, but your site is _tiny_ on a desktop monitor.


The text seemed nicely broken up by the headings already, but maybe adding some syntax-colored code snippets (where relevant) would be another way to add some color to the visuals.


Well, that sent me down a rabbit hole of what the difference is, and apparently mastodons are part of the Mammut family while mammoths are part of the Elephant family. Biologists messed up there.


I like the concept of "social media delivers a dumb feed, then my device groups and organizes them." In line with what is written in the conclusion, I would love to use a client like this that also does curation (by floating topics to the top once it starts seeing which topics you click on most) and then allowing interrogation/tuning of these recommendations. Why use openai instead of a local model though? (I'd imagine mistral-8x7-instruct would do well with the summarization task)


Each device being sent the firehose does not scale. You need another service to at least do the candidate generation from the firehose to get a reasonable rate for your device to handle.


I have a system that filters RSS feeds like this, out of 7000 articles it might pick 300 to show me, it takes just a few minutes to build and validate a model on a rather powerful PC so so far performance is not a problem.

If I were wanting to offer this kind of service to other people I know I could get an economy of scale just ingesting RSS feeds once, I think a lot of users might be happier sampling items from the firehose instead of curating a feed list, and I'd probably give up on the pure content-based filtering and include some collaborative filtering because people would perceive that it learns faster.


That is exactly what is happening here. The Mastodon server is handling the firehose, and creating sub-streams for each user based on followed accounts and tags.


Video streaming seems like a firehose.

Do you mean the battery could not handle the LLM?


mistal 7b base model is good enough for summarization. No need to go to the 8x7 one.


OP here. Yeah, it’s also extremely low-risk. The sensitive part of the algorithm is the embeddings. This part is just making the group human readable.

The reason I didn’t do mistral the first time is because I’m lazy. I gave myself 3-4 hours to get a first pass done, and getting a local model running seemed unnecessarily difficult. It would be a great addition though.


Is unlimited user-end filtration and sorting seen as compatible with the spirit of Mastodon? Members of the Mastodon founding generation have sometimes expressed a wish for that founding generation to always remain visible and prominent, even as the user base expands. Part of it is that the founding generation is heavily trans, and they don’t want their identities and voices to be drowned out by wider cis society.


Is the spirit of Mastodon that the site, rather than the user, decides what the user sees? That wouldn't make them much better than the commercial platforms. I absolutely want users to be in control of their feed, so I welcome projects like these.

(I'm not actually on Mastodon but on Friendica, but I follow a lot of people on Mastodon.)


I'd like to see a client with a set of features to enable manual feed curation. I think it's possible with maybe just two missing features:

1. Mark as read: the ability to mark posts, threads, or followed users as read. Your feed only shows unread stuff. Threads would become unread if they get new posts in them.

2. Prioritization of Following: You can sort your Following list in any order and unread messages and threads are presented in that order.

I use essentially this method with my work Slack, which has a "sorted like your sidebar" option for the Unreads. I have a bunch of folders for different priority channels and individuals, with my immediate team, reports, and boss and the topics I work on at the top, various company wide stuff at the bottom, and a some of grades in between containing channels for my department and partners. As soon as I set it up this way it improved my Slack productivity and I started wishing I could sort Mastodon and Twitter this way.


Very interesting, IMHO one of Mastodon's biggest advantage is not the reverse-order timeline, but the ability to build your own timeline view, pick your own algorithms. There are already a few frontend-based solutions. This one is another, and quite interesting.

I only wish the (vastly underfunded) Mastodon team would see this as an opportunity to provide server-computed timelines to prevent clients from fetching too much information just to get their own summary.


I crave for social media clients that allow users to customize their ranking algorithms for their feed.



Without giving raw access to the database wouldn't this be a feature of the platform and not the client?


The user could choose weights in specific categories, that the app could then take into account when building lists.


depends entirely on how much the server API can provide in terms of granularity. Hence allowing the clients to do more than now.


Nothing really stopping a mastodon client from hacking that together. Was thinking about this over the last couple weeks as well, even being able to specify a weight account you follow would be huge.


Just limiting high volume posters to some limited percentage of the feed would be cool.


> On a more philosophical note, I like the idea of social media algorithms but I hate the implementations.

> What do you think? How could it be improved?

Here is some interesting technology:

https://github.com/microsoft/0xDeCA10B - ML on the blockchain

https://github.com/OpenMined/PySyft - Federated Learning

Incentives are much harder but smart contracts can handle the tech part.

Going this route you quickly have "quantum AI app store" and your system of government is a 12GB download. Can't even say if it's a good idea compared to e.g. anarcho-primitivism.


Good for you for reaching HN frontpage, Tim! This from a guy also on fosstodon =) Love the low-tech prototype.

There exists a future where this kind of social media content curation is a viable and bootstrappable startup option. I'd like to live in that future.


The mastodon client I really want is my web browser. I want my web browser to be able to go to a mastodon web server and see HTML of posts (and responses! so no, /embed is not a solution) with actual text. This traditional form of interface was removed in most mastodon implementations from version 3 and on for some reason. Requiring execution of complex code, either in the browser as javascript, or on your computer as a native client, is not cool. At least for twitter there's nitter but there's no easy way to read mastodon posts/threads.


I'm guessing you mean "without having to log in"? Otherwise I'd suggest Brutaldon might fit your needs.

(and someone could very well tweak Brutaldon to work in a logged-out mode, I suppose)


Yes, without having to set up an account and log in. Like a normal webpage on a normal website.


Although it's early days, Bluesky has promising features regarding feed optimization. Users can build custom feeds and share them, you have control over sorting, etc.

I like their moderation approach as well, at least its potential. You can indicate yourself how comfortable you are regarding various potentially harmful topics: hide/warn/show.

I think this type of user control is exactly what social media needs. The power placed in the hands of users.


The most promising thing about Bluesky is that engagement seems surprisingly high. Posts from the larger accounts I follow get maybe 2000 likes on Twitter, 1000 on Bluesky, and 10 on Mastodon.

I really hope they manage to federate themselves with the larger ecosystem in one way or another, it's annoying that they've chosen to not use ActivityPub.


Be careful with engagement stats on Mastodon, only the origin server will show all the likes and boosts.


If anyone has an invite, I really want to join but don't know anyone who's already using it.


Emailed.


Thank you! At first glance, Bluesky seems great. I like X and don't care about Musk or problematic speech, but Bluesky is showing me accounts I like, whereas it's hard to convince Twitter to show me content I want to see.

Maybe it's just that Bluesky's current userbase is stronger, pre eternal September. Anyway, I really appreciated your generosity.

I promise to be diligent about posting, so as to honor your invite. I will behave. Unlike on X, where I'll continue being completely insane lol.


I don't suppose you have another invite kicking around.... :)


What's the technical advantage of ActivityPub over AT Protocol?


As you said, it's early days. That's all subject to change. Especially if it goes public.


For federated systems like this why are there clients and servers... shouldn't they all be using a single system that stores all that user content locally and uses federation to communicate to others? I don't get why you'd want an account on someone else's server when you can be running your own.


Running your own server is laborious and adds risk. Some people want to take that on. Lots don't.


I'm not suggesting people run their own servers, I'm suggesting that the software shouldn't use the client/server split. That it would be better to run peer to peer using the federation protocol keeping the user 'account' local. At least that's the model I'm keeping an eye out for... IMO the federated server model is to close to the currently dominant centralized model to make the effort of moving to it worthwhile.


I use k-means clustering to find topics using mpnet. I've done similar things with other kinds of document vectors and never had so much success.

It is good for classification too and used in my YOShInOn smart RSS reader which I sometimes think of pointing at Mastodon.


Slightly off topic: I like that the SQLite database file is called “fossil”, because fossil is both relevant to mastodons and is the name of the source code management system for SQLite. That’s a fun intersection there.


Head to GitLab, click 'New Repository', write a new mastodon client, post the link here.




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

Search: