Featured

How to get started on Mastodon

Written by @larsfosdal@mastodon.social

Mastodon felt empty when I first signed up in 2018, so I didn’t really believe it would be my new home. It turns out that this is the nature of the platform, so don’t worry too much about that empty feed. You are fully in charge of what you want to see! With the current influx of birdsite users that are not happy with the new ownership, now is as good a time as any to give Mastodon a try.

Discovery is very different from Twitter, where you get spoon-fed the most “popular” accounts – even more so now with the new “buy yourself verification” scheme. With Mastodon, you need to put it a bit of work in to build a feed that matches your interests. More about that further down below.

So – to help you get going, here are some tips on how to get started on Mastodon.

Finding your Mastodon instance

https://joinmastodon.org/ – This site helps you find a Mastodon instance to sign up with.

Before you sign up, you may also want to read https://themarkup.org/the-breakdown/2022/11/21/we-joined-mastodon-heres-what-we-learned-about-privacy-and-security to understand how the Fediverse works and how privacy works. Also read the Privacy and content control section of this post.

I would recommend to chose a server with a large community that appears to be well run, but if you want to – you can even run your own instance and be in 100% control.

Technically, it doesn’t matter what server you chose, as federation will bring posts from users or topics you want to the server you chose.  Still, signing up with a server that contains many of the users you want to follow and/or topics you are interested in, can be useful.

If you prefer to post in your native tongue, you may perhaps want to chose a server that is hosted in your country. 

If you find out that the instance you selected was not the perfect choice – no worries – your account can be migrated later.

Getting started with Mastodon

I would recommend getting started through a desktop browser to begin with, and then we can move on to mobile devices once you are established. Once you are logged in on the desktop, personally I would recommend enabling the advanced UI, but that is a matter of Preferences (if you pardon the pun). It is not a perfect UI, and sometimes it gets stuck – but usually you can resolve that with reloading the site, or simply close and reopen the site.

MUST: Enable two-factor authentication!

Do it now, before your account is hi-jacked. Yes. It is that important.

Mastodon concepts

Explore the preferences to chose your UI color theme and numerous other settings.

A quick summary of the most used functions in Mastodon.

Home – your default feed which contains the people and searches you follow.

Notifications – will depend on your preferences.

  • Someone followed you
  • Someone requested to follow you
  • Someone boosted your post
  • Someone favourited your post
  • Someone mentioned you
  • Block notifications from non-followers
  • Block notifications from people you don’t follow
  • Block direct messages from people you don’t follow

Explore is a discovery box. It will highlight currently popular posts, currently popular hashtags, currently popular news stories (external links), and currently popular accounts.

You have a separate Search box where you can search for handles of other users to find them using @username@instance – or just a name. You can also search for #hashtags or simply by a keyword. You can then choose to follow a user or a hashtag.

Local is an active stream of all posts from users on your instance. It is nice for discovering other local inhabitants.

Federated is a full firehose stream of all the users that have been imported to the current instance by the local users.

For both Local and Federated, the stream can be very active – but just scroll a little to stop it from racing past you.

@ Direct messages are just that. Your stream of DMs with other users. Note that there is no end to end encryption, so if you need absolute security – do not rely on the DMs for that. This is no different from security on Twitter – since whoever has admin access to the servers, can read DMs. You just need to trust they don’t – and – most likely they wont. If you can’t trust them, you basically can’t trust the internet, and definitively you should not be using social media at all.

Favorites are likes. That star is just like the heart on Twitter, except you need to visit a post to see how many “likes” there are on that post. Likes are a nice way of saying thanks for an interesting / fun / educational / notable post. You should click that Favorite star on stuff that you enjoy reading. There are no algorithms that suddenly will fill your feed with more posts based on your favorites. Other people can see that you Favorited a post.

Bookmarks are very handy for being able to build a stream of content that you want to return to. They are private to you, and other people can’t see that you have bookmarked a post.

Boost is basically the same as a Twitter retweet. You use it to boost a post you think other people should know about. There is nothing like Quote tweet – so if you want to add a comment instead of just boosting, you either make a comment directly on the post and boost the post – or you write a post and include a reference to the original post. Commenting on the original and boosting it is probably the better option.

Lists are a way to organize your streams. If you follow users that mostly write about a specific interest, you can create a list with those users, and you can have different lists for a different interests which allows you to focus your reading.

Find old aquaintances 

You can check out tools like https://www.movetodon.org/ that can – if you allow it – scan your Twitter connections and find those that have their Mastodon identity in their Twitter profile, and with your permission, add them to those you are following on Mastodon. I have used this with a decent outcome, and I re-run it periodically.  There are several of these tools out there. This one is widely used and appears to be trust-worthy.

After having run this tool, any Twitter user that you followed and that had a Mastodon handle in their Twitter profile, can be followed by your Mastodon account. You can chose to follow all, or make a pick of each account individually.

Write an introduction post

To make you discoverable based on your interests, write an introduction post – and don’t be shy about using #hashtags in that post. The #hashtags should be relevant to your interests – be it work or hobby related. Take a look at what other people have written to get some ideas.

Pin your introductory post so that it is the first that people see when they look at your profile.

Oh, and if you are moving away from Twitter – add your Mastodon handle to your Twitter profile – if it allows you. It can be a bit challenging these days. You can obfuscate it as “at yourname at instance dot name” – although I am not sure that tools like MoveToDon will be able to deal with that obfuscation. At least it is human-readable.

Find your interests and follow them

Use Search and # Explore to find content or people and follow. It is better to follow too many things and prune later, than to sit on the fence and follow nothing.

Privacy and content control

At times, there will be content you don’t want to see – particularly on the Federeated timeline. Explicit images, political extremes, or other content you have zero interest in. There are different rules for content on the different instances, so there is no “one rule to rule them all” with regards to f.x. explicit images. You can create multiple filters that picks up on hashtags or keywords of content that you find offensive or uninteresting. If that doesn’t work – You can block the user and you can block the instance the user came from – f.x. if the site allows or focus on explicit images.

More reading on privacy: https://themarkup.org/the-breakdown/2022/11/21/we-joined-mastodon-heres-what-we-learned-about-privacy-and-security

Mobile applications

I don’t have an iPhone, so I can’t vouch for the quality of the iOS app. The Android app is ok, but seems to lag a little behind new features in the web version? Personally, I prefer to open the basic web UI in a browser on my Android device.

Join up, follow up, post up, or should I say toot up?

You’ll find me as @larsfosdal@mastodon.social – just search and follow to connect – or don’t.

I mean, it is YOUR feed đŸ™‚

Part two added

How to improve your Mastodon experience

This is the second part of my journey into the fediverse. The first post was How to get started on Mastodon. This series is not a complete guide in any way, but hopefully it can help explain the differences between Twitter and Mastodon, and help you get to know the platform and make the best of it, perhaps by unlearning some twitterisms.

Search and Explore

It is a little bit more demanding to find content in the fediverse since there is no global free text search. You can search for #hashtags, since these are propagated – and that will help you find streams of content related to that specific tag.

On your current instance, # Explore gives you several tools. Explore Posts will show you the most starred / boosted posts on the instance. I wrote about this in the first post too, but here is a recap:

Hashtags will show hashtags that are gaining traction among people on this and other servers of the decentralized network right now.

News appear to show the most frequently starred or boosted posts that link to external content.

For you appear to suggest users – but I am not sure what the criteria for appearing on the lists are, or if there is an ordering to that list, or if it simply is the most followed users recently? I need to find out, I guess.

Exploring other servers

Sometimes, you may not know which tag is the right one to use, and then it may help to browse the instance server list to find servers you believe may have content that interests you. Go to the URL server.instance/explore (f.x. https://mastodon.social/explore or https://hachyderm.io/explore) to see the ongoing posts on a specific node without actually logging in on the node.

If you find users or hashtags that interest you, follow them from your own instance. This is not as smooth an operation as following on Twitter, because you need to manually search up users on other instances from your own instance, and then follow the user.

In other words:

  • Explore the instance
  • Find the user or tag
  • Copy the full user URL or @name@instance or tag
  • Go on your own instance and search for the user or tag
  • Follow

More on tags

If you are “life blogging”, you might not need to put tags in every post, but if you are posting about a skill, an interest, a hobby, something workrelated, or a specific topic shared by many – you should definitively take time to put in a tag. Some people overdo it, IMO, but your milage may vary, so who am I to judge. It makes your posts on the topic of those tags discoverable.

Viral posts

I enjoy good posts. Viral posts will propagate due to boosts, and people boost for various reasons. They may agree with the content and want more people to read it, or they thought the content was interesting and/or funny.

Some posts defintively deserve to go viral – but I honestly don’t miss the viral factory accounts from Twitter. Those that seek out weird or funny content and post a steady stream of “hits”, but never any personal content. I am sure they will appear eventually as some people are just online for entertainment.

But – if you are on Mastodon simply for marketing reasons, you will find it to be very different from Twitter. Personally, I like actual interaction, not just following a marketing drone account. Unless you actually contribute to the community and interact, it is less likely that your posts will gain viral traction.

Boost / Comment vs Quote tweets

Dialog vs Soapbox. Some people are calling for a “quote toot” as a parallel to quote tweets. Basically, a soap box post that refers to a different post, where you can opine the heck out of it, without necessarily exposing your opinion to the original poster – unless they bother to visit your quote post.

This is not the original nature of the fediverse. You are encouraged to share your opinion on the original thread – and if you enjoy the discussion – boost the original post.

My personal opinion? Dialogs are better than Soapboxes.

If you do need to soapbox it, copy the URL to the post you want to quote and paste it into a new post. It has the same effect as a quote and you can opine away. It might not work if the original poster has reduced the visibility of the their post. See “globe” under “Control your posts”.

Also – please don’t screenshot someone’s post and share the screenshot – that is sooo Twitterish. Again, dialog, dialog, dialog.

Control your posts

Use the visibility controls on the post to decide who can read or comment on the post.

There are several settings that can help other users to decide what to do with your post.

The three bars enable you to add poll entries. You decide how many entries up to a max of 4, and how many days the poll should run.

The globe gives you control over the visibility of the post.

  • Public – Visible for all
  • Unlisted – Visible for all, but opted out of discovery features
  • Followers only – Only the people that follow you will see it. If you combine this with having to approve people that follow you, you have full control over visibility
  • Mentioned people only – like DMs but potentionally with multiple people included

CW – Content Warning – This is almost like a topic classification. Let’s say that you use it as a topic, you can add CW’s “Personal”, “Political”, “Programming”, “Dad Jokes”, “My Cats” and other users may then click on a “Show less” button for each of these topics to allow them to reduce the number of posts they see from you on that topic. Unfortunately, you need to manually type in the content warning every time.

Finally, the “EN” indicates that your post will be in English. Please change this to the actual language of the post.

Control what you see

I’ve already mentioned that you can follow #hashtags, but what if the tags span too wide? Also, when looking at the Local and Federated posts streams, or the Lists streams, what if you want to filter out certain content?

Under Filters in your preferences, you can add specific filters that will prevent posts matching the filter from appearing in your streams.

This allows you to add or edit filters that can trigger on CW texts, tags, keywords, etc.

Naturally, you can modify or delete filters over time.

More settings

There are several tidbits under the Cogwheel preferences / settings page which you should familarize yourself with.

  • Automatic post deletion if you intend your posts to me of a more ephemeral nature
  • Filter languages to filter away languages you can see in public timelines

and there are other tools to help you manage your account.

Explore away!

The joys of software – PowerShell remoting edition

I was happily scripting in PowerShell and the script appeared to work. It remoted to a server, got that state of a few services, if they were running, how much memory they used, etc.

It used – very simplified

$Session = New-PSSession -ComputerName $server
Invoke-Command -Session $Session -ScriptBlock {#Remote code}

So after testing on a single server, I let it lose on all the production servers.  It worked for about 40% of them – the rest did not give a hoot about the script content.

Why?  No idea at the time.  So – what was the differences between the servers? They all had PowerShell 7.x installed, but some where 2016+ while others where 2012R2.  

Changing the remote script to simply retrieve the most current PS version config that the WinRM would provide. 

function Get-PSConfigs { 
    param (
        [String] $server
    )
    Write-Host "--- $server --------------------------------------------------------------"
    $Session = New-PSSession -ComputerName $server
    if ($Session) {
        try {
            Invoke-Command -Session $Session -ArgumentList $server -ScriptBlock {
                Param ([string]$LocName)
                Get-PSSessionConfiguration | sort PSVersion -Descending | Select-Object -first 1
            }
        }
        finally {
            Remove-PSSession -Id $Session.Id
        }
    }
}

This revealed that all the servers that failed only offered PS version 4, and of those that worked, they only reported PS version 5.1.  Why!?  PS 7 was installed! Why didn’t the script run on PS 7?

So, after RTFM a lot, and experimenting a little, it turned out that to enable a configuration for remoting to PS 7, you have to start PWSH 7 with Administrator rights and run “Enable-PSRemoting”.

Only then will you have a PowerShell.7 configuration that you can use with New-PSSession.

function Get-PSSevenResults { 
    param (
        [string] $server
    )
    $Session = New-PSSession -ComputerName $server -ConfigurationName PowerShell.7 
    if ($Session) {
        try {
            Invoke-Command -Session $Session -ArgumentList $server -ScriptBlock {
                Param ([string]$ServerName)
                # remote executed code here
            }
        }
        finally {
            Remove-PSSession -Id $Session.Id
        }
    } 
}

Various error checking/handling removed for clarity

Fun fact – RDPing to 80+ servers, finding pwsh 7, starting it as admin, and running Enable-PSRemoting, is not really much fun at all.

Visual Studio 2022 will be 64-bit 

“Visual Studio 2022 will be a 64-bit application, no longer limited to ~4gb of memory in the main devenv.exe process,” said Amanda Silver, a program management exec in the Developer Division in an April 19 blog post introducing VS 2022. “With a 64-bit Visual Studio on Windows, you can open, edit, run, and debug even the biggest and most complex solutions without running out of memory.”

Source: Visual Studio 2022: Faster, Leaner and 64-bit (More Memory!) — Visual Studio Magazine

TypeScript Handbook Rewrite

Team engineer Orta Therox said

“In the last year, the TypeScript team has heavily focused on ramping up the scale, modernity and scope of our documentation. One of the most critical sections of our documentation is the handbook, a guided tour through the sort of TypeScript code you’ll see in most codebases. We want the handbook to feel like the first recommendation you give for learning TypeScript.”

Source: TypeScript Handbook Revamped as Primary Learning Resource — Visual Studio Magazine