select data->>'content', inserted_at, data->>'id' from objects where data->>'actor' = 'https://gleasonator.com/users/alex' and data->>'content' ilike '%migrat%' and ( data->>'content' ilike '%rebased%' or data->>'content' ilike '%pleroma%' or data->>'content' ilike '%ditto%' or data->>'content' ilike '%activitypub%' or data->>'content' ilike '%activity pub%' or data->>'content' ilike '%AP%'); ?column? | inserted_at | ?column? ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------+---------------------+---------------------------------------------------------------------- Wrote a script to migrate ActivityPub follows to Nostr. Now just needs a web UI. | 2024-04-10 00:38:33 | https://gleasonator.com/objects/34c245df-3ed8-4c5d-9e46-c2cb6b2800f4 @eris @Moon In theory the official way to do this would be to figure out the first migration Akkoma introduced, and rollback the migrations to before that point. You could then, in theory, git checkout pleroma a nd then migrate forward.

However, I would not assume that would just work. I would first look at all the migrations Akkoma introduced to get a picture of it. I would pull the database locally and attempt the change before taking down the prod site.

It could be straig htforward. But my personal experience tells me it's going to be a bit more complicated, because it never is easy. If you're not dealing with problems related to the migrations themselves, you're dealing with problems with different versions of Pleroma wanting different versions of Elixir and other dependencies as you switch between commits. It just seems like an easy way to ruin your weekend when you could just not. Instead, set up a local dev environment and pull the database down, try the conversion there. If it works, awesome. If it doesn 9;t, oh well! didn't needlessly create stress for yourself. | 2023-06-09 20:59:20 | https://gleasonator.com/objects/4f9ef89c-f8cd-4615-877b-a197a106472a The world is divided. People are at war. Americans can't agree on what's important.

That's why I'm proud to announce I'm running for President of the United States in 2024! 🇺🇸 🦅 🎆

I will heal the divide. Here's how.

My platform is s imple. I believe what America needs is exactly one thing. END DAYLIGHT SAVINGS TIME.

Guns. Immigration. Abortion. Taxes. These are things people vehemently disagree on. Who is right or wrong, I don't care. I want to do one thing. TO END DAYLIGHT SAVINGS TIME.

Yea r after year. Hour after hour. The world continues on. The vast majority of people believe daylight savings time is a bad thing. And yet NOTHING HAPPENS.

What is the point of politicians? What is the point of the entire system? If even when we overwhelmingly AGREE on an iss ue, nothing is done about it?

The government could actually help here. But they can't even do the MOST BASIC thing. They have tried numerous times and failed.

This to me is the greatest failure of our great nation. And I am going to drain the swamp. I am going to MAKE THE GOVERNMENT DO THE MOST BASIC THINGS AGAIN (that's my campaign slogan).

Remember, a vote for Alex Gleason is a vote AGAINST daylight savings time.

This message has been approved by Alex Gleason. Alex Gleason 2024. | 2024-02-16 04:01:45 | https://gleasonator.com/objects/1d8337b9-f0c3-42a3-a282-7a69b4961149 @5e336907a3dda5cd58f11d162d8a4c9388f9cfb2f8dc4b469c8151e379 c63bc9 Yep. I had that idea today and I guess it got floated around. We need to build a tool to let users migrate from ActivityPub to Nostr. https://gitlab.com/soapbox-pub/ditto/-/issues/ 31

Once Ditto is functional I will build this. | 2023-07-30 22:57:44 | https://gleasonator.com/objects/8c2fcb66-9666-47c1-a86c-a574c9f48873 @i @lain @guizzy @mangeurdenuage Upgrade to Postgres 14. It will fix it. Also, run pg_repack. I created this post for that very migration specifically.

https://gitlab.com/soapbox-pub/rebased/-/snippets/2463995 | 2023-08-07 16:30:59 | https://gleasonator.com/objects/fd393681-919f-4736-ae38-4617d90dd789 @realcaseyrollins @mastodonmigration Absolutely. They already have full text search, it was just a matter of removing the intentional restrictions they placed on it. This is why Gab and Truth So cial were able to immediately fix search.

I will say, search is hard. Mastodon requires running a separate ElasticSearch instance to do it. But they already had that working for years. | 2023-08-27 22:28:18 | https://gleasonator.com/objects/3f41f5fe-380d-4e42-8799-93ec55182369 @realcaseyrollins @mastodonmigration Same thing. | 2023-08-27 22:35:52 | https://gleasonator.com/objects/890fde08-e9e4-4dae-aefe-22d6ed5082de @realcaseyrollins @mastodonmigration Gargron enjoyed being a little tyrant until Bluesky and Threads came along. He monopolized the space and they made him fear for his livelihood. That's wh y Mastodong is being cooperative now. | 2023-08-27 22:31:16 | https://gleasonator.com/objects/6695e931-3213-43b4-9ca7-5572d1af33c2

Explanation of what’s going on in the Soapbox development branch:

If you value stability, you may want to hold off pulli ng from the Soapbox develop branch for a while. If you want bleeding edge, we value your feedback, and your bug reports are very helpful.

| 2023-06-30 18:34:59 | https://gleasonator.com/objects/5efb4188-10ea-4066-8b22-ded71d5c6f4f Here's what I've been working on the past few days: processing deletions.

https://gitlab.com/soapbox-pub/ditto/-/merge_requests/36

- Add a deleteFilters function to delete event s by filter from the database
- Reworked the `tags` database table, renamed `value_1` to `value`, dropped `value_2`, `value_3`, added a foreign key on `event_id`
- Enabled autovacuum on the database.
- Automatically delete events older than 7 days. Fixes #63
- Broadcas t deletions from local users to all known relays.
- Process deletion events through the pipeline, delete from our database if authorized.
- Protect against deleted events being resubmitted (not perfect).
- Improved the terminal output for migrations.
- Fix various bugs . | 2023-09-06 03:20:30 | https://gleasonator.com/objects/0c9d9f46-a139-45df-8359-56c447068549 @ahmad @matty Yes, there will absolutely be a migration path. The bridge I built already converts ActivityPub data into Nostr events, so we already have a thing that can do it. | 2023-07-06 18:39:33 | https://gleasonator.com/objects/dfe69bae-49cd-48c7-8446-586f21b96eef @feld I don't want to write my own query planner. I'm amazed that people have act ually done it. It gets real complicated when you have 3+ overlapping criteria. Either you need compound indexes or you need to load multiple entire datasets into memory and intersect them. I ain't got the time or willpower for that. Plus no migrations. It would be fragile for a bigger project like Ditto, unlike strfry which is laser-focused on implementing just the Nostr relay interface. It seems to make sense to use SQLite for queries, and LMDB for counter stats, pregenerated feeds, and other cache. I think between the two of them you could build a tr uly production-ready application even though it's unusual. | 2023-12-07 19:22:24 | https://gleasonator.com/objects/8827fbb8-e7cc-48fe-a69a-676e63764289 @Flick The "migrate" function is a tacked-on feature with very poor UX. You have to go through a rigorous process to do it, and it doesn't always work. You can't migrate your posts, just followers. The domain NEEDS to be online for it to work, so it won't work if the domain gets seized or you get banned. Typically the people who need to migrate mo st aren't able to do it. NoAgendaSocial was a best-case scenario, and they still lost a lot in the move.

However I'm not denying this is a social problem. It's a social problem that can be solved through technical means, by letting users sign in with public-key cryptography, instead of having a single website control their account. | 2024-02-12 23:18:04 | https://gleasonator.com/objects/5a8e4374-567e-457d-8db3-1be9c6299c36 Inserting Nostr events into an in-memory SQLite database is faster than adding them to a native ES6 Map. But if you migrate the database every time, it gets much slower compared to instantiating the ES6 Map every time. | 2024-02-24 01:47:33 | https://gleasonator.com/objects/053b9d9f-9509-4914-94e7-267eefe17f44 (14 rows)