All right, I think we'll kick off.
Thank you, David.
Thanks a lot, everyone.
I'm Danny Deiner.
I'm presenting Bill your own timeline algorithm
or as I like to call it, it's Deota.
It also sounds like Bill your own travel agent.
I think there was another project like that.
Sorry about it.
So, Bill, it's not a new algorithm.
It's not an end user application.
It's not a service.
To me, it's a pacifist called for arms.
This is why I chose the blues brothers instead of Uncle Sam.
It's a personal project.
I worked on in the last couple of years.
It took a while, but I had to wait for the right tools to be around.
And you will see it's just something I put together by it.
Putting together great tools.
How did this start?
It all started with a sink.
And you'll know the consequences of this sink, right?
So, a lot of people moved from Twitter to other open social networks.
And to me, it was a bit different.
It started six months earlier.
I was at Twitter employee.
And I joined a smaller cohort and tried to look around
for something that I felt was a bit more in control.
I started to think about how to put something more in control of people.
The networks were there already.
They were already in control of people.
The only thing which was missing in my opinion was an algorithm.
A lot of people don't think we need one.
Some of them might think about that.
I will tell you what I think about this.
So, timeline algorithms.
We don't have a lot of time to delve deep into them.
The only things that will leave you are a very, very short definition.
They define weather and how posts appear on your timeline.
I also put reverse chronological there because to me, that's an algorithm too.
And if you want to delve deeper into, let's say,
a platform recommendations and timeline algorithms.
I suggest you this blog post, which in my opinion was great,
written by Luke Thorv, who's in research on this specific stuff.
The other thing I studied, and I worked on, were all the past projects
that had been built in the Fedivers about this.
I'm really standing on the shoulder of giants.
I learned a lot just by seeing how people were trying to build new things
and how these were accepted by the people on the Fedivers.
So, by putting all of these together, I came up with some problems
that timeline algorithms more or less all have.
And they don't need to have all of these problems.
Some of them have a few, some of them have more.
And I think they are starting from an assumption, which was,
we need to be something to allow users to make users come back to our platform.
And I think if we drop that assumption, we can actually find many solutions to these problems.
And I will not have deeper into each of them, but just tell you,
putting together different tools, we can try and tackle this.
So, Biotta is built on different kind of tools.
I told you, one of them is called Lama File, another one is called Marimo.
Another one you already know, it's master.
I actually mastered on the pie library.
So, another talk about pie-tonal libraries for clients,
because you can actually find plenty, any social network,
which is not so stupid to remove.
Sorry, I will rephrase it, which is intelligent enough to give you an API.
We'll allow you to get your posts.
You can also use summaries from an RSS feed, if you want.
As long as you get text, it's going to work.
Lama File is a single file language model.
I purposely removed LLM, I just wrote language model,
because it doesn't need to be large.
There's one that I'm using here, which is called Old Minielem,
which is 46 megabytes.
It has a valuable code, it's an academic project,
and it has information about the data sets that have been used
to generate its own embeddings.
It's Lama File, runs it, it's 100% local.
It's optimized to run on slower and older machines,
and it's used to calculate these status embeddings.
If you don't know what's an embedding is,
let's say it's numerical descriptors
that are the most similar, the most close,
the more the posts that you're trying to embed
are similar, semantically similar, in terms of content.
Marimo is a reactive notebook in Python.
It's shareable as an application,
and running your browser as it wasn't powered,
standalone HTML file.
Let me pose a second, tell you again.
You can clone my codes.
You can customize the algorithm right your own.
You can serve it on a solar powered,
Raspberry Pi HTML server,
HTTP server, maybe that's a bit too much,
but you can do that.
The code is not going to run there,
somebody else is going to download this file,
run all the code on their own laptop locally,
and it will run your own algorithm.
This is how Marimo looks like.
It's like a typical Python notebook.
It's not the ideal user interface.
This is how the application version looks like.
All the code goes away and just the UI elements are there.
So you start making something available to people.
This is an extra feature, the green feature,
well, people can compose and move different parts of the UI
so that they can use them differently for their own use cases.
In practice, what does the tool do?
Embadding visualization.
Here you can see embeddings from four different timelines.
I took the embeddings, plotted them into the,
this is my home timeline, the people I follow.
This one is the local timeline.
This is the federated one,
and this is the one that I get when I look for the go for tag.
Yes, I'm an other go for fun.
So if you put all of these together,
you can generate this map.
It's kind of geographical.
This is how I call the different parts.
It's fun and nice and I spent a lot of time preparing that.
The nice thing that it shows how posts from different timelines
can actually be grouped together,
and you can get recommendations from one timeline to the other,
if you want.
And how can you use this stuff?
Apart from looking at these things,
and saying for instance,
this algorithm is a bit weird.
Family and parenting embeddings close,
are close to not say for work stuff.
Just the heads up, the red ones are the public timeline.
It's not my personal time.
You can also do semantics search.
You can take a sentence,
such as I'm a fan of free software and everything open source,
and get posts which are related to that thing,
or you can get the post ID from the previous embedding plotting,
and just give the number and see the post which are close to that.
You can do re-ranking,
that is, you can have your own numerical timeline,
and in terms of performance,
it will run on your laptop.
I tried it on a 2016 MacBook.
It runs in 40 seconds,
and you can embed your stuff.
So it's fully local.
You can embed stuff without connecting anywhere else.
It runs in your browser.
We only think you download these libraries
that Mario wants to use,
and then you only connect to your API
and to the local embedding server.
And this is a call for arms as I told you before.
I would like it to grow as a tool
that people can use to build stuff
and easily share it with people.
And once more, you will see the protocols
not flat first thing.
It would be great if you had something like a proxy
that runs in between the client and any kind of server
that does this thing for you.
So this is it.
Thanks a lot for hearing me.
And thank you.
Alright, thank you David.
That was awesome.
So we've had three short talks really close together.
We haven't had time for questions for those.
The speakers I'm sure will be available somewhere
in the Fediverse.
And we'd love to hear from you if you've got questions for them.
Could folks just try and use a few more of these seats
that are still sitting in the middle here
because we've got lots of people coming and going
which is wonderful.
I want to make sure that everybody gets a chance
to set comfortably.
So for those of you that don't know me at all.
My name is Andy Piper and I work with the MasterDone project
but I also try and contribute across the Fediverse
and I'm really excited to welcome our next speaker.