Doctacosa

🪶 I'm a real blog! Maybe? 🤔 Thoughts by Stéphane, often in English, parfois en français!

I've been doing some work on the system for Interordi Accounts lately. As you might or might not know, it's using IOBoard, my forums platform, for some of its processing. It's where the actual data is stored and loaded, so it's rather central to several things I'm working on.

The forums system is one that's dear to me, as I've been developing and improving it for close to 20 years now. While it hasn't been super popular lately, it had its moments, plus it keeps playing a critical role with its handling of accounts. With this proximity, it's tempting for me to want to spend more time on it. Of course, I can only do so much in a day, so I need to make some choices.

Do I want to spend more time on something like this? Sure! But would it be the best use of my efforts? Probably not, since it's not as popular as other elements like the Minecraft servers and has less room for growth. Choices can be difficult at times, but I need to respect some priorities to get the best results possible... and not get sidetracked too much!

This doesn't only apply to the forums, of course, but they're a good example. I could write the same about some of my Minecraft plugins, too. They're active, maintained and all that, just not as developed as I picture them. Maybe their turn will come someday!

#projects

– Doctacosa

Something has happened a few days ago that's gone unnoticed by the majority here: with the recent release of the Mega Man Battle Network Legacy Collection, the Mega Man website I run, Dr. Cossack's Lab, had a major increase in traffic. I expected the maps section to be popular, but not this much!

Simply put, the traffic on the website increased by a factor of 50. That's not 50%, it's 50 times. Yes, that's a lot of people! Thankfully, I have plenty of spare capacity on the website, and the site structure itself is light, so it can handle a sudden burst of traffic without causing slowdowns. That's a good thing, too, because other pages such as the main site of the Creeper's Lab are hosted there too!

It's also important to be able to handle an increase of players in-game. The network currently has a global limit of 50, the lobby and Laurasia accept 30, with the other servers being at 20. Could they handle more? Yes, but it would probably lag, and that's no fun. Laurasia has pushed the 30 simultaneous players before, and we could feel the impact yet it remained playable. Having sane limits helps with this.

Setting realistic limits also helps to curb some attacks. Some tools let people login multiple player bodies at once in a game server, which someone once tried to do in the lobby. Since the lobby has a limit of 30, though, the wave stopped there. A higher limit could look more inviting (“wow, there can be a thousand players at once here!”), but in this case, it could have led the server to crash. Nothing happened, in the end: all accounts got disconnected, a swift IP ban was added, and we never heard from it again.

Keeping structures simple can also help to deal with an unexpected increase in visitors: the simpler the web page, or the fewer plugins a game server runs, the better they can handle many people using the same resources. I prefer not to overengineer anything, as it makes things easier to maintain and growing pains fewer to deal with!

For now, we have plenty of capacity to spare. If you see someone new around, say hello and invite them to stay, we can handle it!

– Doctacosa

Following up on my post from earlier this month, I decided to move forward with a permanent presence on the Fediverse by setting up my own Misskey instance at https://social.interordi.com/ . This one is the real deal; feel free to check it out if you're interested!

If you have little to no idea what this is, I've prepared a short starting guide that's now available online. In even shorter form, this is a social media platform that no one person controls: multiple servers talk to each other to form a strong network. Post, read, follow!

You can check my profile here, register from the front page or follow me from your current profile with @Doctacosa@social.interordi.com.

This is also another place where people will be able to follow Interordi news as they come. The Creeper's Lab already gets automated news posts on its profile, offering yet another option to people who might not be active in-game but want to stay in touch with us.

In installing this, I'm following the same core guideline that led me to run my own Minecraft servers: this is something that I have some amount of control over and that I'm hosting myself. This way, I don't have to worry about someone else getting tired of maintaining it and pulling the plug unexpectedly, or some billionaire tossing caution out of the window and destabilising the entire platform.

#social_media #fediverse

– Doctacosa

Trying to follow (or lead!) online trends can be a challenge, as I've written about before. One of the big aspects of this is choosing a platform (or many) and making the best use of it all. To better get an idea on my options were, I decided to look closer into Mastodon and other Fediverse services.

Now, many of you might be thinking “what the heck is a Mastodon?” Yes, it's an animal, it's also a band, but I'm not writing about either of these. Mastodon is a federated, decentralized microblogging service. Beyond the jargon, it means that you can write short-ish messages, publish them online and let others comment and react. Since it's decentralized, anyone can run their own servers and people are free to join the ones they like. There is no single entity like Twitter Inc. that owns the platform. Still, the multiple servers all talk to each other, so you don't need to join the same place as others.

After looking around, I've setup a Misskey instance for a trial run. It can communicate with other services like Mastodon smoothly, so you only need to join anywhere to get in touch with people. Easy! I'll be using this to test further and see what integrations I can do.

The goal here is to have a place that anyone can join and chat on, plus I gain a convenient spot to automatically post news on. Bonus, since this is linked to other online services, people can follow updates from whenever they like!

Note that this setup is temporary. If I move forward with this, it will be on a new install at a different address, so nothing will be kept.

If you want to give it a look:

To follow someone, you search for them. If we're both on the same server, you can just search for @doctacosa and follow. If you're already somewhere else, you can find my test account by searching for @doctacosa@misskey.interordi.com . Alternatively, I have an account already established at @doctacosa@social.vivaldi.net . Careful, the first @ is important too!

If you have any interest into this, check it out and let me know what you think!

#social_media #fediverse

– Doctacosa

For many reasons, I'm not a big fan of doing strict planning for an upcoming year. The fact that I'm handling these projects part-time plays a big part into this: since I only have so many hours available, I need to make some tough choices at times. Plus, I don't control everything! As an example, some Minecraft updates can be more complicated to handle and those are released on Mojang's schedule. Still, after the holidays rush, I find myself in a planning mood, so here are some things I'm hoping to focus on in the upcoming months!

Something I want to make more of an effort on is to test out different technologies and build up more prototypes. It's a way to feed the curiosity beast, plus it lets me get a clearer picture on what is and isn't possible. Sometimes, these come in useful later. For example, the procedure to link Interordi Accounts with Discord that went live last week is based off a prototype I built over two years ago!

I've made an effort over time to make more of my projects and code available to other developers and server owners, especially my Minecraft plugins, and I want to do more of this. Some elements are simple to release since they stand alone, others are more complex since they're tied to Interordi internals. That Discord integration opened up a door, though: since I introduced a new bot to make it work, I can move the Interordi-specific features there and keep the chat bot itself dedicated to its own tasks. This way, I keep one while the other can be reused elsewhere!

Online communities are often at the center of my thoughts, as I've covered before. I still don't really know what I want to do there, but I've been actively doing research on the various options that are available out there, both on chat and social media. If you have any suggestions, I'd love to hear from you!

In the middle of all the regular maintenance and upkeep, I've been developing a new thing that's getting closer to being unveiled. While I'm not going into specifics yet, I have high hopes for this one!

And this is just the expected – I didn't plan for the second half of 2022 to be as busy as it got, there's all the stuff I have no control over, plus I want to jump at opportunities that might present themselves, so none of the above is on the strict schedule. I'm aware of some of what I want to do, so I'm keeping at it... while still letting myself unwind with a game or book once in a while. :–)

#2023 #planning #personal #recap

– Doctacosa

Now, before you assume the wrong thing, this isn't a yearly recap! This post is a follow-up to various tidbits I've mentioned at some point in the past year. I think follow-ups are underrated: it's nice sometimes to have a small update to confirm (or infirm!) something from before.

Back in August, I mentioned working with my tablet during a train ride. One issue I faced is that the battery barely lasted over three hours, while I was expecting much more. I'm happy to report that I've done better since, with about eight hours of usage without recharge. I'm not sure if I had a stray process wasting energy in the background before, but I'm glad to see it's now matching my expectations!

In May, I described the activity chart I was working on. It's now live at the top of my portfolio, highlighting when I have been active on some of my key projects. I also added the ability to check back on previous years. While that history is incomplete, I think it's neat to see how I have been busier in some time periods more than others! Notably, we see an uptick after I decided to publish some of my code for all to see, on GitHub.

A month before, in April, I wrote about my anti-TODO list. It's basically a daily note taking of the things I've done, which I've found to be a good way to reassure myself that progress does indeed happen (almost!) every day. It turns out that the notebook format I use has enough space for two years of notes, almost to the day: I started my current one on 1 January 2021, and I'll run out of room in about four days!

March was when I mentioned working on my online visibility, and which social networks I could be more active on. Reading my thoughts on Twitter is funny in retrospect, especially with how... unstable the platform has been lately! I still haven't really decided anything on this topic, as nothing feels natural. One does need to go out of their comfort zone once in a while, though.

More happened, of course, but I especially like how these all had something worth writing about!

#projects #personal #recap

– Doctacosa

A recurring theme in my thoughts is all about communities and promotion: how to stay in touch with as many people as possible? Where to have an online presence in order to be visible and help the community thrive? The answer isn't always easy.

I commented on some of this earlier this year, on the topic of my personal visibility. The same applies to the online presence of the Creeper's Lab: where should we be? We're currently established on about a half-dozen social networks. These were picked either because they have a potential Minecraft player base, or because they're simple enough to publish content on and engage people.

In a parallel path, the latest issue of the Creeper's Lab newsletter (subscribe now!) included some of my thoughts on chat options. We've got a healthy chat environment thanks to the tight integration between in-game chat, Discord and IRC. These are the places where our players hang out, so it makes sense to have them all talk to each other.

That's what we have right now. The main challenge here is that it's possible I have blind spots and completely miss some fertile grounds to push on. On the social media front, Tumblr lost in popularity compared to 10 years ago, while TikTok had a huge rise. As chat systems go, IRC continues an apparent slow decline while Discord keeps moving upward. At least, that's my perception of it. Am I missing something that people aren't telling me, something I didn't encounter by pure luck, or not? Hard to say, sometimes!

There's also the flipside of this: something that I pay attention to yet few care about. With all the hubbub from Twitter lately, I've been keeping an eye on the global discussion about alternatives. A recurring one has been Mastodon, which I've been curious about for a while. I could join that, maybe get ambitious and run my own instance of it, see if anybody tags along. But then, it's far more likely than half of you reading this are thinking “wth is a mastodon?” Sorting this out is part of the challenge I have!

#social_media

– Doctacosa

A challenge for me with any project is to determine its MVP, making it ready for release. But what even is a MVP?

No, in this case it doesn't stand for Most Valuable Player. When it comes to project building, it means Minimum Viable Product. That is, what's the minimum functionality that needs to be included in order to make a first release. The central idea is that it's good to receive feedback, so getting something out there as soon as possible lets the community (or potential customers) tell you what they want next.

For example, if I wanted to release a new Minecraft server plugin, I might not need to include everything and the kitchen sink early on. A basic version, that includes all the core functionality, can be distributed online. Later on, extra features such as configuration files, optional modes and so on can be added. Maybe I would also get feedback on things I didn't even think of, helping to guide the development process!

It's tempting to want to release the perfect website, plugin or tool right away, but it can take a considerable amount of time to get there. By the time that everything is 100% ready, maybe people will have lost interest, or a competitor showed up, or you've built something that people just don't care about. This has happened to me several times already, and that's where starting with a more minimalist option can be interesting.

This doesn't mean that this MVP can be full of bugs! Some incomplete features might be okay, or the occasional glitch happening, especially for something labelled as a beta release. Still, having something unstable can be a turn off and lead people to believe your new toy is best avoided, so finding a proper balance is key.

#projects

– Doctacosa

Once in a while, I'll mention my TODO list. It's where I list what I want to do, note possible ideas, keep track of the status of my ongoing projects, and more. Where does this beast actually live, though?

The truth is, it's not regrouped in a single location. As things stand right now, I'm using three main tools to keep track of all these elements. But why three?

The main one that I've mentioned before is OneNote. It's designed to do just that: write down notes and sort them out as you go. The way the application is structured works well for me: you have several notebooks (I have a Development one), broken down into sections (Interordi, IOBoard, Creeper's Lab, ...), which are in turn broken down into pages (Priorities, Future updates, Ideas, History, etc.). Each page is a freeform text page, with formatting support, so I can write things however I want. I usually make generous use of bullet points that get divided into subsections. Having text pages lets me see a lot of items at once, and I like having a global overview. Bonus, OneNote is available for basically every platform ever and synchronizes easily, so I'm not tied to any device.

Another one that I've been relying on is Visual Studio Code with a few additional plugins. My main coding software also happens to make an interesting note keeping system. The way things are displayed ends up somewhat similar to OneNote, but there's a reason why I use this: to easily share with others. My development notes for the Creeper's Lab are there, in Markdown format, which I can then easily copy and send elsewhere. I use this method to share the information with the staff, so they have an idea what I'm working on. The pages are pushed online, where a simple viewer allows casual browsing. Fun fact: this Markdown viewer is open source and available on my GitHub account!

Part of this family of tools is Microsoft To Do, another app that's available on multiple platforms. While I've tried using it as a replacement to OneNote, it didn't quite work for me: like others, you can choose to sort your notes across multiple projects and sections, but the individual tasks have to be entered one-by-one in their own fields. This means I can't see as many elements at a glance and I can't easily move an entire section somewhere else like I would with a text document. However, I found a use for it: tasks with a deadline. I have self-repeating tasks with notifications for the daily servers list voting, the monthly Kenorland rotation, the newsletter preparation, and more. This way, I don't need to remember when something is due. Likewise, I had a note today to remind me to write this post!

While this set has been working well enough for me for quite a while now, I'm never 100% happy with what I have, as there are always small details I wished worked differently. Who knows, maybe I'll find something more to my liking in the future!

#tools #software

– Doctacosa

I took a day trip yesterday which involved about four hours total of train travel. Not one to let a good time block like this go to waste, I decided to work some more on an upcoming project of mine. A catch is that I often need to look up extra information online, while I would be cut-off from most everything there. While, yes, there is on-board wifi, it's best not to rely on that. Having a limited mobile plan, I didn't want to use my phone as a hotspot. So, offline it was!

I made sure I had all the files I would need pre-downloaded before starting, then configured my tablet with my usual development tools. The smaller device (plus attached keyboard) is light enough to carry around all day, yet has the ability to do everything I need it to.

Surface Go tablet

Since I wouldn't have a live connection, I decided to focus my work on making the system more reliable. This specific project needs to read data from external sources once in a while, but what happens if these sources are temporarily offline? This was a perfect opportunity to test it for real! I found several weird behaviors and outright bugs that I was able to correct, so that by the time this goes live, unusual scenarios like bad connections will already be handled properly.

One small problem: I ran out of battery before going home! I'm not sure what happened, since it's supposed to last longer than this, but maybe I didn't configure something right. That will be something to review... or bring the charger along!

#tools #hardware

– Doctacosa