Doctacosa

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

So many ideas, so little time.

It can be easy to come up with a project idea, it's something else to bring it to completion. I have several things always bothering me at the back of my mind, and it's easy to always kick that can forward thinking that I'll look into it some other day.

Something I've taken to doing is to try and build a demo on each interesting concept. Without too much effort, this can reveal quite a bit! One idea that I initially had a good feeling about ended up being cast away after only two days as I quickly realized it would be too unreliable a service. Another would have been interesting, but the data I needed wasn't really available. A third definitely seemed possible, but I caught on to the fact that I would be miserable working on it, and life is too short for that.

Some of these demos I completed, then set aside as I had no direct plans for them. Others were saved for later, as potential components of something larger. A few have landed on my public GitHub account, waiting to be discovered and built upon by someone else.

And a precious few seemed to hit both the “possible” and “fun” factors. These can be saved to be revisited later: either it can stand on its own, or become a part of something larger. It's also entirely possible that what sounded like a good idea at first isn't so attractive later on – that's okay too!

My main point? If you think something sounds interesting, consider trying it. You don't have to get overly attached to it, or invest a lot of energy into it. Messing around with a project, an activity or even a game can give you a better picture than just thinking about it again and again. An hour, a day, a week maybe? And if it doesn't keep your attention after all, that's okay – now you know, instead of having it constantly bugging you.

#thoughts #projects

– Doctacosa

Back in January, I wrote about the steps I went through in submitting apps to various app stores. To summarize, Google Play happened just fine, the Microsoft Store version was rejected, and iOS wasn't possible as they don't support this type of applications.

Things changed in the meantime, and I'm happy to report that BiteReads is now available on the Microsoft Store, giving it some extra exposure! You might be wondering what happened in the past eight months to allow this.

With the upcoming release of Windows 11, Microsoft announced a set of changes to the rules of their applications store. One that caught my eye quickly was the fact that they now allow third party payment platforms, as long as that's clearly mentioned. This was the very problem locking me out initially: as BiteReads requires a connection to the Pocket service, people were getting redirected to their platform on login, also giving them a detour to their paid features. Under the new policy, this was allowed, so I went back to work. I modified the product description to cover this directly, updated the in-app description accordingly, submitted the new version, and it was approved after about a day! This means that two of the largest platforms are now within my reach for this and any future project I release.

You can now download it from the Microsoft Store, along with the already available Android version on Google Play.

#bitereads #projects

– Doctacosa

I've written before about my work on plugins, either to fix existing ones or create new modules entirely. Some of the new work happened to replace older options that stopped working or weren't reliable enough, while others have been designed to add some brand new functionality. While I had made a few available online already, I decided to go the full distance and release as much content as widely as possible!

There's now a main section on Interordi to link to the full set of plugins I've made available so far. This includes information and downloads on Spigot and Polymart, plus the full source code on GitHub. Five plugins are available now, with more being gradually prepared.

This might not mean much to most of you reading this, as you're players of the Creeper's Lab and don't need these files. Instead, these are for server owners, a group of people that I haven't been actively targeting until now. Since I'm already making the effort in developing these features, I thought I might as well use the opportunity to reach out to more people. This includes a new crowdfunding campaign, this time on GitHub Sponsors, which targets developers and server owners interested in supporting my work.

Now, this doesn't mean that this was a simple fire-and-forget thing. As I was telling someone else a few days ago, I tend to classify my code in three categories:

  1. The tools I create for myself only. These can be very unpolished, as I can easily work my way around their limitations or problems.
  2. Things that are shared among the staff members. While they can come with warnings about rough edges, something that's more intuitive is my goal.
  3. What gets published for everyone to see and use. This needs to be fully secured, as fool-proof as possible and with a solid production quality.

Moving anything forward from one level to another can be a significant effort, and often takes way longer than one would think. Most of the plugins that this post is about were in the second tier, although some were in the first; making sure that everything was easy to install and understand required some careful review work.

More in this direction will happen in the upcoming months. Do you have any thoughts on which of the tools I've mentioned over time that would be the most useful to other people? If so, please, I'd love to read about it!

#minecraft #plugins #projects

– Doctacosa

A direction that I've been working toward for quite a while has been about branding. I've got the name and logo for Interordi that I've been using in some fashion for over 20 years now, always as a more subdued reference while other names have taken the forefront. Obviously, right now, that's the Creeper's Lab, but that could change eventually, much like it has in the past.

This isn't so much about pushing the Interordi brand itself aggressively like saying buy a t-shirt, but more about creating an awareness that there's more I do besides run a few Minecraft servers. If I was to launch a new site or product, I'd like people to know about it, and that's where having the branding comes in. The Interordi newsletter I've recently launched to annonce major updates is a key part of this, giving me a way to reach out to people that could be otherwise inactive on the network.

One notable step on branding has been the introduction of Interordi Accounts. An upgrade over the forum registration, this lets people create one account that can be used all over the network. From a potential player's point of view, it's also easier to explain that they need an Interordi Account to get whitelisted, rather than tell them to register on a forum to access a game. It flows more naturally. If I launch another service, tool or game later, people will be able to use the very same accounts to continue. As such, each location will link to the others.

Likewise, still pushing the visibility aspect, having one clear name helps to highlight that there's more. I've been gradually publishing some of my home-grown plugins, now available as public downloads, with more on the way. Other server owners might find one of my plugins, download it and move on. However, if I place a clear logo somewhere in each description, with a link saying something like “Check out my other plugins!”, each one becomes a possible entry point to raise awareness about the whole set!

Several of the things completed in the past year have played a role. Modernizing the forums was much needed, then the new Interordi homepage became a much more welcoming entry point.

What's the next step on this trip? I'm not even sure about that myself! There are a few things I want to do, plus more that I probably haven't even thought about yet, so it's all a work in progress.

#branding #creepers_lab #interordi

– Doctacosa

A tricky question and a challenge for many creators like myself is how to keep in touch with people. Sometimes, I have news to share, but how can I do so?

We've got a notable community right now focused on the Creeper's Lab and its Minecraft servers. Most of you reading this are coming from there. Hi! That's all nice and well, but that's the now, and I'm often thinking about the future. If I was to launch a new thing in say, six months, how do I let people know?

Going back in time, we had an active crowd on the forums, which mostly came for discussion on the Mega Man series. The activity over there died down over time, due mostly to the decline of the Mega Man series itself along with the rise of social networks. Still, there remains a core of activity to this day, and part of that core formed the initial group that played on the Creeper's Lab at launch. They invited others to join, and that new community grew over time!

Right now, my biggest asset would be Discord. We recently passed the 400 users mark, and a rare @all in the #news channel would get people's attention. Still, that's a tool I'm wary of using, because non-active people might decide to leave the server outright if they don't like the news I'm sharing.

One way would involve me being active on social media. For example, I have a Twitter account (and 13 subscribers), despite never posting anything – I use it purely as a notifications system. I could post and try to build an audience there, but then what would I post about? I don't tend to think spontaneously of things that would be relevant. I used to be more active on Tumblr, but that dried up. What other platforms would be relevant that I could be overlooking?

Another method, more traditional yet still useful and relevant, is by email. I started a monthly newsletter for the Creeper's Lab over two years ago, and it recently passed the 1000 subscribers. I can make special issues for breaking news and send that to everyone. This way, people don't need to check a channel or website – the news comes to them.

Thinking along those lines, I have just started a separate newsletter for the wider Interordi network. I don't plan to use that one on a set schedule, only for special releases. For example, last year, I might have used it a total of three times for major updates and additions. Maybe consider subscribing to it if you want notifications right in your inbox?

Of course, all this assumes that people are even reading this. :–) I know some pay attention, I'm aware that others entirely ignore my updates, so I have no way to know the size of my actual audience, even here...!

What about you? Can you think of ways to build up an audience, or possible notification channels that I'm not using? Let me know!

– Doctacosa

Bold. Italics. And many more.

We know what to call these visual effects, but how do you type them?

Some platforms, such as here on Patreon, display a toolbar where you can click icons (or use keyboard shortcuts) when writing posts. It's not as obvious if you want to write something in its raw form to include somewhere else. In that situation, you need a way to define a set format. After considering many options, I settled on Markdown and I've been working to integrate it everywhere whenever possible.

Markdown is a format that you might already be familiar with from platforms such as Reddit, Discord or GitHub. It's meant to be simple to type and remain readable even in raw text. For example, to write something in bold, you surround it with two **asterisks** on each side. Even if the text conversion isn't available, you can easily tell that the focus on that element is important.

Over time, I successfully integrated this as the default syntax on the Interordi Forums, the news system, the Creeperpedia, and even for my personal note taking. Having a single, standardized form means that text can be copied from one location and then pasted in another without losing any information of formatting, making work all that more efficient.

I ended up developing two tools related to this. The first is Markdown Syntax, which is both a guide to the full syntax and a near real-time preview, so people can try it without risking any live data: reload the page, and any changes are reset! The second is the creatively named Markdown Viewer, which allows multiple pages of raw Markdown to be browsed as if they were full web pages, similar to how a wiki would present its information. I use that one to take project notes in Markdown, then share them easily with others without requiring any manual conversions.

Some alternatives that I considered but tossed aside include the following:

  • HTML (bold sample). It's ubiquitous, but it's also blocked in many places due to the potential visual and security risks. It's possible to try to strip out unwanted elements, such as images and rogue Javascript code, but why risk it when better alternatives exist?
  • BBCode ([b]bold sample[/b]). IOBoard, the software in use for the Interordi Forums, supports a form of BBCode. It's a facsimile of HTML, using square brackets. While functional, it also needs more characters to write out any element, causing the raw text to become harder to read.
  • MediaWiki ('''bold sample'''). This is the syntax used by Wikipedia and its sister sites. While used by millions for the encyclopedia project, it's also one not available on many other platforms. This would mean adopting a different syntax elsewhere, forcing users to learn different variations, and I wanted to avoid that at all costs.

The end result is that as many tools as possible across Interordi share one common syntax. One syntax to rule them all!


This post might be a bit more focused on a single issue than most, but it's something that I've put a lot of thought into for the past two years or so, so hopefully you still found it interesting!

#projects #markdown

– Doctacosa

Recently, I reorganized the entire support system of the game servers as I described in this news post. The servers are now able to turn themselves off when empty, then wake back up whenever a player tries to access them. The main result is the empty ones no longer use any RAM or CPU, letting the other worlds have more resources to themselves.

The results were clear: we have had some instability for the past several weeks, including crashes every few days, and that cleared up pretty much instantly. I'm satisfied to see that it was all worth the effort!

This is something that I had been thinking about for a while and then spent most of the past month developing. The dedicated server was getting full, especially on RAM usage, causing instability. Plus, this meant that I couldn't run any more servers in parallel: bringing Seasonal and Tasmantis online for some weeks already increased the rate of issues, which is no fun for the player base, so something had to be done.

Sure, I could have opted to rent a dedicated server with higher specs, or outright get a second one, but I like to maximize what I have before getting more. Plus, this keeps the entire operation running at a lower budget, freeing money for other ventures.

Another feature that I introduced helps me keep the game servers up to date: whenever the servers wake up, they also pull the latest versions of the game itself, selected plugins and their configuration. If, say, Rodinia wakes up 10 times in a given day? That's 10 opportunities to update its files and get the latest improvements and corrections! Before, that was only possible when I did manual restarts, which could be as rare as once every few weeks.

This replaces the Python script that I mentioned back in 2017.

To summarize, this work had three main results: * An immediate, positive effect on game stability. * Easier server updates by fetching files on every wake up. * New opportunities for special projects by freeing resources.

I'm proud of the result. This required several weeks of development but will definitely pay off in the future!

#gamedev #projects #minecraft

– Doctacosa

As of this posting, I will have been working from home for a year, with no change in sight. Some of you have been in the same situation, give or take a few days, while others have gone back to school or work since. I posted some early thoughts after 9 days of what was originally supposed to be something lasting a few weeks, and I figured the opportunity was right to revisit that.

I had been curious about experiencing work-from-home full time to see if I would like it. I wasn't exactly asking for a global pandemic as a setting, but hey, you take what you can! Overall, I find my personal experience to be positive, as I'm still able to stay focused through the day. I prefer a quiet work environment, and on this point, being able to control the noise and distractions is nice. A major upside has been the loss of the commute, giving me more flexibility on how each day goes.

I'm still employed at the same location, as we haven't had any notable changes in personnel or company structure related to the current situation. I have since joined a different department, though, as the project I was involved in has been retired. I'm now paired with a team which is mostly located in Europe, so being physically present in the office wouldn't change much: emails, chats and voice calls would still be our primary lifelines!

One side-effect of always being at the same desk (day, night and weekends!) has been a urge to improve my setup. I have since installed my tablet as a third screen, dedicating it to Discord. My networking equipment and related devices have been tidied up and moved to a closet to remove clutter. I also bought a footrest to improve the ergonomics and sorted out all nearby drawers and shelves to be better organized, toss away unused items and let others be easier to find.

I just wish I hadn't left at the office that novel that I was reading, I was two-thirds of the way through...

#pandemic #work

– Doctacosa

Following up on my previous post, here are some more of the plugins I've developed over time.

IOServerMonitor

The newest on the batch! As you might guess from the name, this plugin is used to monitor the status of the game servers. Nothing of this is visible to the players; it runs quietly as it lets me keep an eye on valuable data like the last time a server was restarted, how many players are on or how fast it's currently running. Bonus, this one is available for download on Spigot!

IOTrails

IOTrails replaced the older SmokeTrails, which I had been maintaining for a while. This full rewrite allowed me to add new options, most notably in letting players choose a trail once and have it apply on all servers simultaneously. Before, the setting was applied per-server, causing people to often have the wrong one applied. Also available for download!

IOBattleStats

I already did a full write-up on this one nearly two years ago, but I feel like it's worth another mention as tracking all gameplay stats was a very big bite to take. Thankfully, this has been very reliable overall in the meantime, with little maintenance needed. I'm planning a release once I work out a few known issues.

UHC and Grindatron

Both rotating challenges within Kenorland, I developed custom solutions from the beginning to have all the flexibility I needed. These aren't set for public release, as the UHC one is probably underdeveloped compared to some existing options, while the Grindatron is a special feature that I'd like to keep as a Creeper's Lab exclusive.

While I don't have more to mention right now, I'm often considering the time cost of maintaining existing plugins vs finding new ones vs developing my own, so there might very well be a part 3 in due time!

#projects #plugins #minecraft

– Doctacosa

I'm launching today something different from my usual works: BiteReads, a smaller user interface for Pocket!

For those not familiar with Pocket, it allows you to save web pages to read them later. Your list can be saved and shared across devices, so you can do something like save a page on your phone then read it later on your tablet. BiteReads uses that same information but presents it in a more compact format, letting you see more of your stories at a glance.

It's available both as a web tool or an app that can be installed on Android, iOS and PC. If you want to try that, on Android and PC, access the web version and click the Install button to get started! On iOS, in Safari, use the Add to Home option. The installation through Firefox is not supported at the time due to limitations with the browser.

I originally wrote BiteReads for my own use, as I wanted to browse my list of pages in a more compact format. However, the layout of the official tool favored large fonts and plenty of whitespace, leaving little room for actual content. You can see a comparison of this on BiteRead's about page. The tool I developed can be used in parallel to Pocket, or as a full replacement, since it connects to the same service.

While I could have kept this for myself in a rough format, working but lacking in polish, I decided to go the extra mile, add all relevant features and offer it to everyone out there. I don't have any set expectations for this: as mentioned above, I wrote this for my own use first and foremost. If others see a use for it, so much the better. The source is also available!

I'm hoping to use the coming months to release more tools with the same concept: applications or modules that I have created for my own use yet could still be useful to others.

#projects #bitereads

– Doctacosa