I decided I wanted to learn a little while back. I really want to expand my skill set. I've been a developer for a really long time, and I really like PHP, but I need to branch out some more.

I had an idea for a project, and decided that this project would be the perfect way for me to learn go.

But, I'm finding it really hard to make any headway on the project because there's so much to learn to make it work well.

Meanwhile, I'm finding that I really want to make this project a success, and with the extremely slow pace of building it in go, I'm thinking that maybe I should give up on that right now and build it in PHP after all. I could probably have a working MVP in a few weeks if I did it in PHP. And then tackle a less ambitious project in go later.

I can't decide which way to go. Maybe I could even build it in PHP and later rebuild it in go.

I'm starting to learn Go. At work we're splitting out some parts of our architecture into a few microservices, and our Chief Architect decided we should write them in Go, instead of our usual PHP.

I've been enjoying learning it. It's been a long time since I've really tried to learn a completely new thing (as opposed to a new framework or whatever).

As a project to get myself into this, I've been thinking about building my own Fediverse server in go. Architecturally, I want it to be a lot like microblogpub, which I currently use. I actually want to be able to have a clear migration from one to the other.

Like microblogpub, my new project (which I'm tentatively calling gopub) will be a single user instance, intended to be easily hosted on your own computer, with a fairly simple sqlite database, and focused on broad ActivityPub and IndieWeb compatibility.

But I've got some ideas for a few features that I haven't seen elsewhere.

For example, I was thinking it might be cool to have alternate handles for a single user, to only follow certain things. E.g., if I'm [email protected], and somebody wants to follow me, but not see any boosts from others, instead of following [email protected], maybe they instead follow [email protected]. Or, if they only want to follow my posts that include a particular hashtag, they can follow [email protected].

Similarly, a single user with multiple handles would be nice. I think Friendica has this, but I'm considering including it in my project as well.

And one thing I really want to add is location check-in. Basically, the Fediverse equivalent of Foursquare. ActivityPub already has the vocabulary for this, but I haven't seen it implemented anywhere.

I'm still at the very, very early stages. Who knows if I'll ever get it in a usable state. And I'm working on it during my extremely limited free time. But I'm excited to start a new project.