diff options
| author | Xe Iaso <me@christine.website> | 2022-11-12 13:00:01 -0500 |
|---|---|---|
| committer | Xe Iaso <me@christine.website> | 2022-11-12 13:00:01 -0500 |
| commit | ab86d9bf5d9accf681588dd48df581d77126708c (patch) | |
| tree | 81ed60b3980764ae90fa01fe21a2345da93a9bed | |
| parent | 7a8123435b381db82b557d630bdae5df77b86608 (diff) | |
| download | xesite-ab86d9bf5d9accf681588dd48df581d77126708c.tar.xz xesite-ab86d9bf5d9accf681588dd48df581d77126708c.zip | |
rip twitter
Signed-off-by: Xe Iaso <me@christine.website>
15 files changed, 556 insertions, 23 deletions
diff --git a/blog/birdsong-persists.markdown b/blog/birdsong-persists.markdown new file mode 100644 index 0000000..f022d17 --- /dev/null +++ b/blog/birdsong-persists.markdown @@ -0,0 +1,72 @@ +--- +title: "The birdsong persists" +date: 2022-11-13 +series: twitter +tags: + - prose +--- + +<xeblog-hero ai="Waifu Diffusion v1.3 (float16)" file="birds-free" prompt="blue birds, trees, flock, teyvat, sunrise, flying, thick outlines"></xeblog-hero> + +In the days before, there were many roosts for the itinerant birds of the ether. +Flocks of birds flittered about between roosts, but never really settled on one +in particular for very long. This continued for generations, the birds just +understood the roosts being temporary as an immutable fact of their existence. + +Then a bird decided to build a new roost. A roost that could house _everyone_. +With a bright and proud announcement, that bird proclaimed thus: + +<blockquote class="twitter-tweet"><p lang="en" dir="ltr">just setting up my twttr</p>— jack (@jack) <a href="https://twitter.com/jack/status/20?ref_src=twsrc%5Etfw">March 21, 2006</a></blockquote> + +Birds flocked to the new roost and everyone started to sing and tweet to +eachother. This filled that small initial roost quickly. Birds were joining +faster than the roost could be built, but they stuffed themselves in anyways. +Eventually the icon of failure had been purged and the birdsong was able to +thrive on that roost. + +The roost became a massive hub in that network of itinerant roosts. As the roost +grew, the other roosts it replaced started to feel depopulated and withered. +Others lost interest and joined in the main roost. + +The roost continued to grow at the expense of all the others. It kept growing +and consuming more and more flocks. Those flocks started to lose their identity +of their previous roosts and started to see themselves as _belonging_ in the big +roost. + +With so much birdsong, you would think that the roost would be invincible. It +was not. It was in dire straits. The constant building and maintenance had a +cost that was only realized when things were almost falling apart. Somehow they +had managed to avoid the cracks showing on the outside, but things were +incredibly dire. + +They made a deal with the devil during a point of contention between the flocks. +The roost thrived, but at a huge cost. The previously united flock had been +divided into groups that wanted to destroy eachother. The roost continued, but +the flocks started to grow bitter. + +Then came the idealist. The idealist proposed to buy the roost from its former +owners and reshape it into his vision. The idealist saw the vision and agreed +before seeing the cracks in the roost's core. But it was too late. The idealist +was now the owner of the roost. To an even worse result than the deal with the +devil. + +With the caretakers of the roost fleeing to the winds, the cracks became more +and more visible. First they were notable, then they were unignorable, then they +were threatening to the flocks. The whole roost was unstable and the birdsong +started to change its tune until it was almost entirely against the idealist and +his flawed visions. + +More flocks fled the roost in fear that it will collapse out from under them. +Their happy birdsong left with them, leaving the anger against the idealist to +dominate the roost so much that it became a poison. + +The flocks did not flee to another single roost though. They had learned that +lesson. On the side a flock had been building tools to let flocks create their +own roosts. But, at the same time they also made those roosts able to +communicate with eachother. This means that the flocks could flee the main +roost, but still be able to hear eachother's birdsong. There were thousands of +roosts instead of one big one. + +As wave after wave of flocks fled the roost, each of the other roosts found +themselves with more and more friends. The birds sang in harmony forever on. +Still welcoming those fleeing the failing roost to this day. diff --git a/blog/rip-twitter.markdown b/blog/rip-twitter.markdown new file mode 100644 index 0000000..42de7bd --- /dev/null +++ b/blog/rip-twitter.markdown @@ -0,0 +1,128 @@ +--- +title: "Goodbye Twitter, Hello Fediverse!" +date: 2022-11-12 +series: twitter +tags: + - fediverse + - rant +--- + +<xeblog-hero ai="Waifu Diffusion v1.3 (float16)" file="bird-fleeing" prompt="light blue bird, sunset, crying, landscape, anime style, space needle, clouds, sun, genshin impact, teyvat, breath of the wild, hyrule"></xeblog-hero> + +I have been watching in horror as Elon Musk seems to be doing his best to +destroy Twitter as fast as he can. This has been really hard to watch, but at +the same time I can't help but watch the trainwreck unfold. The biggest thing +that this all has been making me think about is the fact that Twitter has been +one of my main ways that I use the Internet for so long. My phone tells me that +I've had the Twitter app open for an absolutely depressing amount of time. I +would be willing to argue that I have been _addicted_ to Twitter. Twitter was +consuming a large part of my life. + +I've been aware of how bad it was getting. This has been made slightly worse by +the fact that a large part of my job involves stalking Twitter, but in general +it was starting to be a problem. At some level, I am relieved that Elon Musk is +destroying Twitter. At another, I am horrified that one of the main ways that I +communicate on the Internet is being destroyed. + +This feels like it's [freenode](https://withinstudios.itch.io/closed-projects) +all over again. Same story, different threat actor. The main difference is that +there is no one [libera.chat](https://libera.chat/) to take over and save us +this time. Twitter is too big for one community to absorb _that many_ people. It +can feel like there is going to be a massive diaspora of former communities into +god knows where. It feels like you will become an anonymous voice in an infinite +crowd, never to be heard from again. + +However, I think there is a way that we all can get off of Twitter and _still +retain some of the communities we will lose_. I think that we all need to take +the [Fediverse](https://en.wikipedia.org/wiki/Fediverse) more seriously. The +main gimmick of the Fediverse is that there's no longer one platform, one +provider, one service. Instead there are a constellation of independent +platforms that communicate with eachother. If you create an account on +[vt.social](https://vt.social), you can follow me on +[pony.social](https://pony.social). You can also follow people on other websites +that participate in the Fediverse. There's even a whole YouTube clone called +[PeerTube](https://joinpeertube.org/) that can federate out to other websites. +Follow a PeerTube user from your Mastodon server and then you can reply to the +video and _those replies show up as comments on that video_. No more siloes, no +more having to create an account everywhere to do basic interaction. You just +follow and reply to people on other platforms like they were on the same website +as you are. + +One of the biggest complaints I've heard about the Fediverse is that they get +analysis paralysis from having to _choose_ a server to start out with. This is +most common with people that aren't used to the fact that this is how the old +internet started out. There weren't big siloes. You had to choose where to hang +out. However, just pick something at random. [You can move your account +later](https://docs.joinmastodon.org/user/moving/#migration) if you want to. It +is not hard to do. Trust me. + +<xeblog-toot url="https://mastodon.sdf.org/@Ricardus/109322650979345324"></xeblog-toot> + +For a while I was running a crossposter between [my Fediverse +profile](https://pony.social/@cadey) and Twitter. I have turned that off. The +only things that I am going to use Twitter for in the future are the automated +posts for this blog and whatever else I need to do for work. It has been really +hard to build up the courage to torch an almost 6-thousand person following on +Twitter, but I feel that this will be better for everyone involved. + +<xeblog-conv name="Cadey" mood="enby">Being able to have 2048 characters per +post is also helping me recover from the koan-like shitposting style that +Twitter forced me to adopt. 280 characters is _just not enough space_ for +nuance. 2048 characters allows me to use _sentences_ and _paragraphs_. It is +such a lovely feeling. Even the Mastodon default of 500 characters leaves so +much more room for nuance.</xeblog-conv> + +## Follow suggestions + +On the Fediverse there is a tradition we lovingly call +[#FollowFriday](https://pony.social/tags/followfriday). Every friday people will +make a message with the hashtag `#FollowFriday` and list out a bunch of people +that they think are worth following. Some people will name why they should be +followed and I did miss my `#FollowFriday` this week because I was on a train +with absolutely terrible WiFi so I'm going to list out people I think are worth +following here: + +[@xe@vt.social](https://vt.social/@xe) is my Lojbanist vtubing alt. I'm working +on being more comfortable with being _wrong_ in front of people as a part of +getting better at public speaking and healing from my past. If you choose to +follow this account, please keep in mind that I am _committed to the bit_ and I +will be posting _entirely_ in [Lojban](https://lojban.pw/welcome/). + +<xeblog-toot url="https://vt.social/@xe/109308323411835557"></xeblog-toot> + +[@cwebber@octodon.social](https://octodon.social/@cwebber) is one of the +co-authors of the ActivityPub specification. She has done incredible work in +making the Fediverse shine and I suggest following to see what she has cooked up +next. + +[@ghuntley@ghuntley.com](https://fediverse.ghuntley.com/@ghuntley) is one of the +most amusing people I know. Don't be fooled by the fact that his profile picture +is a Bored Ape NFT. He's actually quite vocally anti-NFT and cryptocurrency in +general. He has that Bored Ape because he randomly got a _pirated ape_ shoved +into his Ethereum wallet and now uses it out of pure irony. + +<xeblog-toot url="https://fediverse.ghuntley.com/@ghuntley/109329174967503675"></xeblog-toot> + +[@LunaFoxgirlVT@vt.social](https://vt.social/@LunaFoxgirlVT) is the creator of +[Inochi2D](https://inochi2d.com/), an open-source vtubing application for +Windows, macOS, and Linux. Luna is a passionate game developer and someone that +I personally sponsor on GitHub. I don't even use Inochi2D _yet_, but I support her +mission of making vtubing free and easy to use for the masses. Give her a +follow! + +[@Lyude@queer.party](https://queer.party/@Lyude) is someone I have been friends +with for almost a decade. Lyude is the person I go to when I have issues with X +and Wayland. Lyude is also a fearless rustacean and someone that I would love to +work with some day. If only we worked on things that were remotely related to +eachother. + +[@Gankra@toot.cat](https://toot.cat/@Gankra) is one of the most powerful +rustaceans I know. Gankra fearlessly helps make Rust easier to use and is +adept at posting. Here's an example of a Gankra post: + +<xeblog-toot url="https://toot.cat/@Gankra/109320427252456972"></xeblog-toot> + +[@cult@pony.social](https://pony.social/@cult) is the person that runs the +Mastodon server that I post on. He's worth following because he has a true +understanding of irony and humor that you can only really get from a sarcastic +German. diff --git a/data/toots/31777d891e2ef2943d7f484d2769cc2ef33d4e82080befb67e32f833050b712e.json b/data/toots/31777d891e2ef2943d7f484d2769cc2ef33d4e82080befb67e32f833050b712e.json new file mode 100644 index 0000000..4de1f32 --- /dev/null +++ b/data/toots/31777d891e2ef2943d7f484d2769cc2ef33d4e82080befb67e32f833050b712e.json @@ -0,0 +1,34 @@ +{ + "id": "https://mastodon.sdf.org/users/Ricardus/statuses/109322650979345324", + "type": "Note", + "inReplyTo": null, + "published": "2022-11-11T01:47:51Z", + "url": "https://mastodon.sdf.org/@Ricardus/109322650979345324", + "attributedTo": "https://mastodon.sdf.org/users/Ricardus", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://mastodon.sdf.org/users/Ricardus/followers" + ], + "sensitive": false, + "conversation": "tag:mastodon.sdf.org,2022-11-11:objectId=57740029:objectType=Conversation", + "summary": null, + "content": "<p>I wish people would just fucking say this out loud:</p><p>INSTANCE CHOICE IS LARGELY IRRELEVANT. EVEN IF YOU DID FIND AN INSTANCE OF (INSERT YOUR HOBBY/INTEREST HERE) IT'S NOT LIKE YOU GET TOGETHER AND PARTY ON WEEKENDS.</p><p>Just avoid toxic instances where you find the kind of people like we beat in WW2. Just hang out and have fun.</p><p>SDF is a great instance with a wide variety of users.</p><p>Once you have chosen an instance your experience will basically be EXACTLY like twitter from an end-user perspective.</p>", + "contentMap": { + "en": "<p>I wish people would just fucking say this out loud:</p><p>INSTANCE CHOICE IS LARGELY IRRELEVANT. EVEN IF YOU DID FIND AN INSTANCE OF (INSERT YOUR HOBBY/INTEREST HERE) IT'S NOT LIKE YOU GET TOGETHER AND PARTY ON WEEKENDS.</p><p>Just avoid toxic instances where you find the kind of people like we beat in WW2. Just hang out and have fun.</p><p>SDF is a great instance with a wide variety of users.</p><p>Once you have chosen an instance your experience will basically be EXACTLY like twitter from an end-user perspective.</p>" + }, + "attachment": [], + "tag": [], + "replies": { + "id": "https://mastodon.sdf.org/users/Ricardus/statuses/109322650979345324/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://mastodon.sdf.org/users/Ricardus/statuses/109322650979345324/replies?only_other_accounts=true&page=true", + "partOf": "https://mastodon.sdf.org/users/Ricardus/statuses/109322650979345324/replies", + "items": [] + } + }, + "source": null +}
\ No newline at end of file diff --git a/data/toots/323905a6746cdd5eb8a994d091ca5d35fdee9e9e1199f0fab1b81a709e0641aa.json b/data/toots/323905a6746cdd5eb8a994d091ca5d35fdee9e9e1199f0fab1b81a709e0641aa.json new file mode 100644 index 0000000..af72ff2 --- /dev/null +++ b/data/toots/323905a6746cdd5eb8a994d091ca5d35fdee9e9e1199f0fab1b81a709e0641aa.json @@ -0,0 +1,34 @@ +{ + "id": "https://vt.social/users/xe/statuses/109308323411835557", + "type": "Note", + "inReplyTo": null, + "published": "2022-11-08T13:04:09Z", + "url": "https://vt.social/@xe/109308323411835557", + "attributedTo": "https://vt.social/users/xe", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://vt.social/users/xe/followers" + ], + "sensitive": false, + "conversation": "tag:vt.social,2022-11-08:objectId=3240:objectType=Conversation", + "summary": null, + "content": "<p>coi! π le tarci (βοΈ) cu galtu (β¬οΈ) ^^</p>", + "contentMap": { + "en": "<p>coi! π le tarci (βοΈ) cu galtu (β¬οΈ) ^^</p>" + }, + "attachment": [], + "tag": [], + "replies": { + "id": "https://vt.social/users/xe/statuses/109308323411835557/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://vt.social/users/xe/statuses/109308323411835557/replies?only_other_accounts=true&page=true", + "partOf": "https://vt.social/users/xe/statuses/109308323411835557/replies", + "items": [] + } + }, + "source": null +}
\ No newline at end of file diff --git a/data/toots/455ffb63a80adb1422a4a471a6b5751cbf8fd82aac01c08e82223bf6733514bb.json b/data/toots/455ffb63a80adb1422a4a471a6b5751cbf8fd82aac01c08e82223bf6733514bb.json new file mode 100644 index 0000000..222d6de --- /dev/null +++ b/data/toots/455ffb63a80adb1422a4a471a6b5751cbf8fd82aac01c08e82223bf6733514bb.json @@ -0,0 +1,32 @@ +{ + "id": "https://akko.within.website/objects/61402c97-043f-4ac2-8f54-3e62cd9f3378", + "type": "Note", + "inReplyTo": null, + "published": "2022-11-10T17:33:22.335756Z", + "url": null, + "attributedTo": "https://akko.within.website/users/xe", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://akko.within.website/users/xe/followers" + ], + "sensitive": null, + "conversation": "https://akko.within.website/contexts/f6f5b1bf-6338-4fa2-8513-f4c99763ad34", + "summary": "", + "content": "This is yet another test of the <a class=\"hashtag\" data-tag=\"tailscale\" href=\"https://akko.within.website/tag/tailscale\" rel=\"tag ugc\">#tailscale</a> alert system", + "contentMap": null, + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://akko.within.website/tags/tailscale", + "name": "#tailscale" + } + ], + "replies": null, + "source": { + "content": "This is yet another test of the #tailscale alert system", + "mediaType": "text/plain" + } +}
\ No newline at end of file diff --git a/data/toots/afb86f8f3a751552fe10a14650871c1ea6249e8fc77a8ab036794daa4bf9f585.json b/data/toots/afb86f8f3a751552fe10a14650871c1ea6249e8fc77a8ab036794daa4bf9f585.json new file mode 100644 index 0000000..17f0250 --- /dev/null +++ b/data/toots/afb86f8f3a751552fe10a14650871c1ea6249e8fc77a8ab036794daa4bf9f585.json @@ -0,0 +1,50 @@ +{ + "id": "https://fediverse.ghuntley.com/users/ghuntley/statuses/109329174967503675", + "type": "Note", + "inReplyTo": null, + "published": "2022-11-12T05:26:59Z", + "url": "https://fediverse.ghuntley.com/@ghuntley/109329174967503675", + "attributedTo": "https://fediverse.ghuntley.com/users/ghuntley", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://fediverse.ghuntley.com/users/ghuntley/followers" + ], + "sensitive": false, + "conversation": "tag:ghuntley.com,2022-11-12:objectId=4484:objectType=Conversation", + "summary": null, + "content": "<p>If you want to <a href=\"https://fediverse.ghuntley.com/tags/selfhost\" class=\"mention hashtag\" rel=\"tag\">#<span>selfhost</span></a> a <a href=\"https://fediverse.ghuntley.com/tags/mastodon\" class=\"mention hashtag\" rel=\"tag\">#<span>mastodon</span></a> server on <a href=\"https://fediverse.ghuntley.com/tags/nixos\" class=\"mention hashtag\" rel=\"tag\">#<span>nixos</span></a> heres how you do it / here is my config <a href=\"https://gist.github.com/ghuntley/9369011a979ce2422d9851e38e784895\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">gist.github.com/ghuntley/93690</span><span class=\"invisible\">11a979ce2422d9851e38e784895</span></a></p>", + "contentMap": { + "en": "<p>If you want to <a href=\"https://fediverse.ghuntley.com/tags/selfhost\" class=\"mention hashtag\" rel=\"tag\">#<span>selfhost</span></a> a <a href=\"https://fediverse.ghuntley.com/tags/mastodon\" class=\"mention hashtag\" rel=\"tag\">#<span>mastodon</span></a> server on <a href=\"https://fediverse.ghuntley.com/tags/nixos\" class=\"mention hashtag\" rel=\"tag\">#<span>nixos</span></a> heres how you do it / here is my config <a href=\"https://gist.github.com/ghuntley/9369011a979ce2422d9851e38e784895\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">gist.github.com/ghuntley/93690</span><span class=\"invisible\">11a979ce2422d9851e38e784895</span></a></p>" + }, + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://fediverse.ghuntley.com/tags/selfhost", + "name": "#selfhost" + }, + { + "type": "Hashtag", + "href": "https://fediverse.ghuntley.com/tags/mastodon", + "name": "#mastodon" + }, + { + "type": "Hashtag", + "href": "https://fediverse.ghuntley.com/tags/nixos", + "name": "#nixos" + } + ], + "replies": { + "id": "https://fediverse.ghuntley.com/users/ghuntley/statuses/109329174967503675/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://fediverse.ghuntley.com/users/ghuntley/statuses/109329174967503675/replies?only_other_accounts=true&page=true", + "partOf": "https://fediverse.ghuntley.com/users/ghuntley/statuses/109329174967503675/replies", + "items": [] + } + }, + "source": null +}
\ No newline at end of file diff --git a/data/toots/dc6a3c52c03b28cf6dfd766974989523ccc3cd862ca0a63c9628d6fa09af0850.json b/data/toots/dc6a3c52c03b28cf6dfd766974989523ccc3cd862ca0a63c9628d6fa09af0850.json new file mode 100644 index 0000000..57b8d98 --- /dev/null +++ b/data/toots/dc6a3c52c03b28cf6dfd766974989523ccc3cd862ca0a63c9628d6fa09af0850.json @@ -0,0 +1,34 @@ +{ + "id": "https://toot.cat/users/Gankra/statuses/109320427252456972", + "type": "Note", + "inReplyTo": null, + "published": "2022-11-10T16:22:19Z", + "url": "https://toot.cat/@Gankra/109320427252456972", + "attributedTo": "https://toot.cat/users/Gankra", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://toot.cat/users/Gankra/followers" + ], + "sensitive": false, + "conversation": "tag:toot.cat,2022-11-10:objectId=35170513:objectType=Conversation", + "summary": null, + "content": "<p>tired: documenting that a function has weird behaviour</p><p>wired: documenting that a function shouldn't be used because it won't do what you want</p><p>inspired: making most of the documentation for a function a detailed treatise on how to use *other* APIs to do the thing you really want</p>", + "contentMap": { + "en": "<p>tired: documenting that a function has weird behaviour</p><p>wired: documenting that a function shouldn't be used because it won't do what you want</p><p>inspired: making most of the documentation for a function a detailed treatise on how to use *other* APIs to do the thing you really want</p>" + }, + "attachment": [], + "tag": [], + "replies": { + "id": "https://toot.cat/users/Gankra/statuses/109320427252456972/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://toot.cat/users/Gankra/statuses/109320427252456972/replies?only_other_accounts=true&page=true", + "partOf": "https://toot.cat/users/Gankra/statuses/109320427252456972/replies", + "items": [] + } + }, + "source": null +}
\ No newline at end of file diff --git a/data/users/5ec5fb05e2d4420aa4f3b1fd6539bbd5570e6d0305aafc736244ba6a4393bb9f.json b/data/users/5ec5fb05e2d4420aa4f3b1fd6539bbd5570e6d0305aafc736244ba6a4393bb9f.json new file mode 100644 index 0000000..a0cd2dd --- /dev/null +++ b/data/users/5ec5fb05e2d4420aa4f3b1fd6539bbd5570e6d0305aafc736244ba6a4393bb9f.json @@ -0,0 +1,28 @@ +{ + "id": "https://mastodon.sdf.org/users/Ricardus", + "type": "Person", + "following": "https://mastodon.sdf.org/users/Ricardus/following", + "followers": "https://mastodon.sdf.org/users/Ricardus/followers", + "inbox": "https://mastodon.sdf.org/users/Ricardus/inbox", + "outbox": "https://mastodon.sdf.org/users/Ricardus/outbox", + "featured": "https://mastodon.sdf.org/users/Ricardus/collections/featured", + "featuredTags": "https://mastodon.sdf.org/users/Ricardus/collections/tags", + "preferredUsername": "Ricardus", + "name": "Ricardus", + "summary": "<p>Recording Engineer and former Technical Director (A1 Tech). Currently running an Antique Mall for a friend. I enjoy: building recording equipment, music, science fiction, Cons, wellness, absurdist humour, and other stuff.</p><p>Sometimes I play guitar.</p><p>Frustrated writer.</p><p>Geek.</p><p>Does not code.</p><p>If you enjoy anything I do on Masto please consider a donation.</p><p>Donations can be made to:</p><p>Paypal: 'ricardus @ sdf . org'</p><p>Venmo: Ricardus-W</p><p><a href=\"https://liberapay.com/Ricardus/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><span class=\"invisible\">https://</span><span class=\"\">liberapay.com/Ricardus/</span><span class=\"invisible\"></span></a></p>", + "url": "https://mastodon.sdf.org/@Ricardus", + "manuallyApprovesFollowers": false, + "discoverable": true, + "published": "2017-04-26T00:00:00Z", + "devices": "https://mastodon.sdf.org/users/Ricardus/collections/devices", + "icon": { + "type": "Image", + "mediaType": "image/jpeg", + "url": "https://mastodon.sdf.org/system/accounts/avatars/000/000/850/original/e794501e9dc0b32d.jpg" + }, + "image": { + "type": "Image", + "mediaType": "image/jpeg", + "url": "https://mastodon.sdf.org/system/accounts/headers/000/000/850/original/3dcda4182cf11abb.jpg" + } +}
\ No newline at end of file diff --git a/data/users/7f26aa6a1980f5fd14167609249e4508485de17a9b61c0f66faf8150bb6e9cd2.json b/data/users/7f26aa6a1980f5fd14167609249e4508485de17a9b61c0f66faf8150bb6e9cd2.json new file mode 100644 index 0000000..ccd2879 --- /dev/null +++ b/data/users/7f26aa6a1980f5fd14167609249e4508485de17a9b61c0f66faf8150bb6e9cd2.json @@ -0,0 +1,28 @@ +{ + "id": "https://fediverse.ghuntley.com/users/ghuntley", + "type": "Person", + "following": "https://fediverse.ghuntley.com/users/ghuntley/following", + "followers": "https://fediverse.ghuntley.com/users/ghuntley/followers", + "inbox": "https://fediverse.ghuntley.com/users/ghuntley/inbox", + "outbox": "https://fediverse.ghuntley.com/users/ghuntley/outbox", + "featured": "https://fediverse.ghuntley.com/users/ghuntley/collections/featured", + "featuredTags": "https://fediverse.ghuntley.com/users/ghuntley/collections/tags", + "preferredUsername": "ghuntley", + "name": "Geoffrey Huntley :vim: :nixos:", + "summary": "<p>π Iβm Geoff, I βstoleβ all of your NFTs via <a href=\"https://thenftbay.org\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><span class=\"invisible\">https://</span><span class=\"\">thenftbay.org</span><span class=\"invisible\"></span></a>. Software Engineer at Coder and ex Gitpod. </p><p>Opinions are my own. β©I live a minimalist lifestyle and work remotely from a van doing <a href=\"https://fediverse.ghuntley.com/tags/vanlife\" class=\"mention hashtag\" rel=\"tag\">#<span>vanlife</span></a>. The internet is already decentralised (<a href=\"https://fediverse.ghuntley.com/tags/indieweb\" class=\"mention hashtag\" rel=\"tag\">#<span>indieweb</span></a>)</p><p>β©p.s Just in case it it isn't clear enough <a href=\"https://fediverse.ghuntley.com/tags/blockchain\" class=\"mention hashtag\" rel=\"tag\">#<span>blockchain</span></a> / <a href=\"https://fediverse.ghuntley.com/tags/nft\" class=\"mention hashtag\" rel=\"tag\">#<span>nft</span></a>'s are dumb and so is my avatar. πππΏπβ©</p><p>1. <a href=\"https://concerned.tech\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><span class=\"invisible\">https://</span><span class=\"\">concerned.tech</span><span class=\"invisible\"></span></a> β©<br />2. <a href=\"https://www.smh.com.au/business/companies/extortion-why-web3-is-pissing-off-a-lot-of-software-developers-20220\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><span class=\"invisible\">https://www.</span><span class=\"ellipsis\">smh.com.au/business/companies/</span><span class=\"invisible\">extortion-why-web3-is-pissing-off-a-lot-of-software-developers-20220</span></a></p>", + "url": "https://fediverse.ghuntley.com/@ghuntley", + "manuallyApprovesFollowers": false, + "discoverable": true, + "published": "2022-11-11T00:00:00Z", + "devices": "https://fediverse.ghuntley.com/users/ghuntley/collections/devices", + "icon": { + "type": "Image", + "mediaType": "image/png", + "url": "https://fediverse.ghuntley.com/system/accounts/avatars/109/325/034/786/571/675/original/c5843b458911682c.png" + }, + "image": { + "type": "Image", + "mediaType": "image/jpeg", + "url": "https://fediverse.ghuntley.com/system/accounts/headers/109/325/034/786/571/675/original/332eac79a4bfd21b.jpeg" + } +}
\ No newline at end of file diff --git a/data/users/85e2523d36626f373f76f404f497885c79bb7a9f9ee13334ebaf4ca7e41b122f.json b/data/users/85e2523d36626f373f76f404f497885c79bb7a9f9ee13334ebaf4ca7e41b122f.json new file mode 100644 index 0000000..f005e63 --- /dev/null +++ b/data/users/85e2523d36626f373f76f404f497885c79bb7a9f9ee13334ebaf4ca7e41b122f.json @@ -0,0 +1,24 @@ +{ + "id": "https://toot.cat/users/Gankra", + "type": "Person", + "following": "https://toot.cat/users/Gankra/following", + "followers": "https://toot.cat/users/Gankra/followers", + "inbox": "https://toot.cat/users/Gankra/inbox", + "outbox": "https://toot.cat/users/Gankra/outbox", + "featured": "https://toot.cat/users/Gankra/collections/featured", + "featuredTags": "https://toot.cat/users/Gankra/collections/tags", + "preferredUsername": "Gankra", + "name": "Gankra", + "summary": "<p>It's me, the gay cat who maintains your docs</p>", + "url": "https://toot.cat/@Gankra", + "manuallyApprovesFollowers": false, + "discoverable": true, + "published": "2022-11-04T00:00:00Z", + "devices": "https://toot.cat/users/Gankra/collections/devices", + "icon": { + "type": "Image", + "mediaType": "image/png", + "url": "https://pool.jortage.com/tootcat/accounts/avatars/109/287/068/466/286/465/original/99d44c73ee0b2e69.png" + }, + "image": null +}
\ No newline at end of file diff --git a/data/users/de4007588856073a68b85f6e5aadd105d376cf12194b1248ffe0a27d91eb4a28.json b/data/users/de4007588856073a68b85f6e5aadd105d376cf12194b1248ffe0a27d91eb4a28.json new file mode 100644 index 0000000..20dd157 --- /dev/null +++ b/data/users/de4007588856073a68b85f6e5aadd105d376cf12194b1248ffe0a27d91eb4a28.json @@ -0,0 +1,24 @@ +{ + "id": "https://akko.within.website/users/xe", + "type": "Person", + "following": "https://akko.within.website/users/xe/following", + "followers": "https://akko.within.website/users/xe/followers", + "inbox": "https://akko.within.website/users/xe/inbox", + "outbox": "https://akko.within.website/users/xe/outbox", + "featured": "https://akko.within.website/users/xe/collections/featured", + "featuredTags": null, + "preferredUsername": "xe", + "name": "Xe", + "summary": "Hey,<br/><br/>I'm the admin of this place. My main account is <span class=\"h-card\"><a class=\"u-url mention\" data-user=\"APH5MA5JhypBfazQ0W\" href=\"https://pony.social/@cadey\" rel=\"ugc\">@<span>cadey@pony.social</span></a></span>. Consider this an alt in the Twitter sense.", + "url": "https://akko.within.website/users/xe", + "manuallyApprovesFollowers": false, + "discoverable": false, + "published": null, + "devices": null, + "icon": { + "type": "Image", + "mediaType": null, + "url": "https://f001.backblazeb2.com/file/xeserv-akko/74777ece434cea213de37d78c46df8623572331aa27183d4bc225182c7be2e17.png" + }, + "image": null +}
\ No newline at end of file diff --git a/data/users/e5886a0174dcc2d1d2288c6112cce09fb894ba4e14eb113e8bcabc5d0e8fd7ef.json b/data/users/e5886a0174dcc2d1d2288c6112cce09fb894ba4e14eb113e8bcabc5d0e8fd7ef.json new file mode 100644 index 0000000..277de03 --- /dev/null +++ b/data/users/e5886a0174dcc2d1d2288c6112cce09fb894ba4e14eb113e8bcabc5d0e8fd7ef.json @@ -0,0 +1,28 @@ +{ + "id": "https://vt.social/users/xe", + "type": "Person", + "following": "https://vt.social/users/xe/following", + "followers": "https://vt.social/users/xe/followers", + "inbox": "https://vt.social/users/xe/inbox", + "outbox": "https://vt.social/users/xe/outbox", + "featured": "https://vt.social/users/xe/collections/featured", + "featuredTags": "https://vt.social/users/xe/collections/tags", + "preferredUsername": "xe", + "name": "la .zi. :verified_purple:β", + "summary": "<p>coi!</p><p>ni'o mi'e la .zi. .i mi cu vtubar .i mi nelci la'oi zo NixOS je lonu samyzilkei loi kelproga je lonu ciska .i mi cu samseltcanytivni fo la'oi Twitch (<a href=\"https://twitch.tv/princessxen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><span class=\"invisible\">https://</span><span class=\"\">twitch.tv/princessxen</span><span class=\"invisible\"></span></a>)</p><p>.i ko gleki je kurji .ua.</p>", + "url": "https://vt.social/@xe", + "manuallyApprovesFollowers": false, + "discoverable": true, + "published": "2022-11-08T00:00:00Z", + "devices": "https://vt.social/users/xe/collections/devices", + "icon": { + "type": "Image", + "mediaType": "image/png", + "url": "https://vt.social/media/accounts/avatars/109/306/006/417/606/734/original/b81ee6243764b836.png" + }, + "image": { + "type": "Image", + "mediaType": "image/png", + "url": "https://vt.social/media/accounts/headers/109/306/006/417/606/734/original/99ca3d0bbf69c436.png" + } +}
\ No newline at end of file diff --git a/lib/xesite_templates/src/lib.rs b/lib/xesite_templates/src/lib.rs index e744531..5e6fee2 100644 --- a/lib/xesite_templates/src/lib.rs +++ b/lib/xesite_templates/src/lib.rs @@ -190,7 +190,7 @@ pub fn toot_embed(u: User, t: Toot) -> Markup { br; } - a href=(t.url) { "Link" } + a href=(t.url.unwrap_or(t.id)) { "Link" } }; html! { .media { @@ -202,6 +202,9 @@ pub fn toot_embed(u: User, t: Toot) -> Markup { .media-body { .media-heading { (u.name) + @if u.id == "https://pony.social/users/cadey" { + img src="https://cdn.xeiaso.net/file/christine-static/blog/verified.png" style="height=1.5ch;width=1.5ch"; + } " " a href=(u.url) {"@" (u.preferred_username)} br; diff --git a/lib/xesite_types/src/mastodon.rs b/lib/xesite_types/src/mastodon.rs index 942bbc7..80445bd 100644 --- a/lib/xesite_types/src/mastodon.rs +++ b/lib/xesite_types/src/mastodon.rs @@ -25,7 +25,7 @@ pub struct User { pub featured: String, #[serde(rename = "featuredTags")] - pub featured_tags: String, + pub featured_tags: Option<String>, #[serde(rename = "preferredUsername")] pub preferred_username: String, @@ -46,10 +46,10 @@ pub struct User { pub discoverable: bool, #[serde(rename = "published")] - pub published: String, + pub published: Option<String>, #[serde(rename = "dev |
