Developer Diary, World Radio Day
Today, people around the world celebrate World Radio Day, honoring broadcast radio. Terrestrial radio has far less cultural impact than it once did, but it works reliably with far less sophisticated equipment than almost any other way that we communicate. When you factor in speed over long distances, radio becomes unique in that respect.
And since most of us have our computers connected via Wi-Fi, these days, and Wi-Fi uses radio signals, it almost looks like a smooth segue to talk about software.
Social Media
I have now created a Spoutible đł account.
Given that they kept changing the dates that people could sign up, their site absolutely drags under any stress, and their mascot brings to mind Twitterâs old âfail whale,â I donât have particularly high hopes. However, especially given the siteâs Black ownership and its commitment to safety, it seemed smarter to poke around now and decide whether it looks like someplace that I want to spend time, rather than ignoring it.
IâŚdonât love it, even ignoring the problems that I mention above, which I can forgive, because launching a social media website seems difficult at a time when people want a new home. It looks a lot like Twitterâa timeline taking up the bulk of the screenâwhich makes it difficult for me to get a feel for the community, there, and feels like it wants me to spend all my time looking for that next message. In turn, that seems like exactly the sort of behavior that I do not want to engage in.
Other than that, it feels a lot like Post.News (though admittedly feels slightly nicer), with people trying to recreate their environment on Twitter without considering that maybe Twitter made them less healthy, but with some rudimentary, optional anti-harassment measures. It has the same people looking to follow the same people, and pandering to the crowd to get boosted exposureâthe âsend this message to all your followers, if you believe (insert a self-evident or popular statement)â sort of ploy that has nothing to do with messaging and everything to do with âincreasing engagementââwhile talking about how much they miss âthe goodâ Twitter, as if the company didnât break its own rules to protect fascists long before its change in management.
Oh, also, for Mastodon, do yourself a favor and install Street Pass. As you visit websites, it checks the HTML for identity verification code, and lights up when it finds someone new. If you like the website, that makes it more straightforward to follow the creators whose work you like than looking for a specific request to follow the person or organization.
Mastodon Tool Trunk
I continue to try to debug the issues with my scheduling script, and so mostly added small convenience features to aid in that debugging, such as listing all scheduled toots, or deleting them.
I also fixed a serious-but-small bug that somehow confused the options object for the configuration object.
It still needs workâI get an HTTP 404 error âRecord not foundâ when posting, which seems impossibleâbut I believe that I at least have it close.
Entropy Arbitrage
GitHub - jcolag/entropy-arbitrage-code
Working with the changes to the Mastodon Tool Trunk, I fixed the new embed
tag, both in the sense that it had a significant error in it that shouldnât have slipped past even my most superficial testing, and the fact that I overlooked important aspects of how the thing should work. In the latter case, I realized that the plugin should include the image description, even if I canât/wonât show the image. It now does that with an âimage not shownâ message, which I may change later, since any changes will work retroactively.
I also provided CSS to go with the plugins. It may have gone overboard on the no-image CSS, as you may have noticed on Fridayâs post, but I like how it looks, especially for a new feature. I can always mute the colors later, if they grow tiresome.
Twitter (Wait, What?)
No, I didnât secretly get a job with Elmo, smuggle out the source code of slowly collapsing infrastructure, and publish it to GitHub. Although, given how this week has gone for the company, it would probably only surprise people to the extent that Iâd apply to work at a big Silicon Valley companyâŚ
Instead of doing any of that, I used tweetback to produce a permanent archive of my Twitter history, hosting it on GitHub Pages. Since I donât expect to tweet anymore, this should serve as a final archive.
The generated site has some odd imperfections:
- You canât âdoom-scrollâ to find more of the history,
- Some image links seem broken in strange ways,
- It doesnât unravel shortened URLs,
- Including at least one pointing at my Mastodon account, and
- The search box doesnât always appear.
However, you can track down everything from my early attempts to engage minor celebrities in December 2011 to the final tweets in January 2023 cross-posted from Mastodon. You can also see metrics of whom I retweeted, who Iâve replied to, sites that Iâve linked to (âbuff.lyâ comes from my first round of scheduling tweets, and so doesnât really count), my abysmal use of emoji and hashtags, and a minimum of swearing. Does âpornâ even count as swearing?
Oh, and my little archive (clunkily and trivially) federates with other tweetback archives, so if we have replied to each other on Twitter, for example, clicking the references in one archive will automatically link to the other, instead of linking to Twitter. (I wonder how much effort it would take to turn this code into a full social network. Much as I like Mastodon, a federated network with single-user instances that mostly act like static websites seems like it could work well.)
Iâll probably eventually add a CC BY-SA license to it, though I donât imagine that anybody would find my tweetsâat least the tweets that include my thoughts, beyond a quote or a linkâuseful.
If âinstall the Node packages, then run this at the command-lineâ sounds like a reasonable thing that you would do, I can highly recommend downloading your Twitter historyâyou should honestly do that part, regardless, given the siteâs instability and the companyâs instabilityâand following the directions to set up your own archive.
Oh, and while you have your archive open, give some thought to running something like the Twitter archive parser. The download that Twitter provides to you mostly contains JavaScript files that assign arrays of objects with a lot of information that you probably donât care about, plus resized images. The parser script will convert the tweets into HTML and Markdown, and (optionally) download the full-sized versions of media.
In my case, I donât care about the mediaâI donât believe that I ever posted an image for a reason other than highlighting an articleâso I can maintain a âtrimâ archive of about five megabytes with only the Markdown on my machine for any searches or analysis, and dump the full three hundred megabyte archive on my media server, in case I need something else from it.
Next
I need to figure out the final piece of the Mastodon schedulerâas mentioned, it looks like I only have one piece left, and that piece doesnât make senseâand I may experiment to try to unravel those shortened URLs for my Twitter archive. As you can see in the archiveâs analytics, the majority of my listed URLs âcome fromâ buff.ly
, as an artifact of early schedulers. It makes no sense to decouple this data from Twitter, only to link to everything through a service that I havenât used in years (Buffer), many (all?) of which apparently redirect to t.co
URLs, going right back to Twitter to find the actual address. Mind you, I have no idea how many of those final links still go anywhere usefulâŚ
Speaking of rewriting URLs, I may also overhaul my pre-2023 Twitter-centric social media roundup posts to point people to this archive, instead of leaving my blog pointing at Twitter. After the last couple of months, I canât really predict that those links will still exist, either.
Credits: The header image is Foxhole radio from WW2 by John W. Campbell Jr., in the public domain due to a failure to renew its copyright.
By commenting, you agree to follow the blog's Code of Conduct and that your comment is released under the same license as the rest of the blog.
Tags: programming project devjournal