So as a few people may know, on the 16th I went to university. I am going into my third year of a computer science degree, which means I have to create a big project that they will mark me on. I’ll continue talking about this near the end of this post, but right now the thing that everyone is here for.
42 is nearing her major update
For those of you who don’t know already, for the last 15 months, I have been refractoring, rewriting, updating, adding to and generally improving 42’s codebase. And for the past about 9 months, these updates have been available for public use under my second bot Beta 42. I’ve been wanting to make this update for just as long, but there was one key thing stopping me, namely, Discord’s “shard” limit. The tl;dr of this is that a bot can only exist on 2500 servers before the developer needs to make some changes.
42 has never been capable of handling shards, because when I first created that version of her, well… I never expected it to become so popular! However, since the recent update of Beta 42 to discord.py/rewrite branch (Here,) Beta 42 is capable of being sharded, which means she is not subjected to the 2500 limit like her predecesor was. So now that sharding is no longer an issue for me.
What does this mean for users?
For users of Just 42
- A lot of large sweeping changes will be made to the front-end of the bot.
- You can learn about the changes here.
- You will not need to change which bot is on the server.
For users of Just Beta 42
- Nothing will change for you guys. Those changes were made before.
- You will however need to kick Beta 42 and invite 42 when the update happens.
For users of Both Bots
- You will need to kick Beta 42.
How are you going to merge the bot’s data together?
This is where I need your help. There are a lot of changes that need making, and some of them will cause issues for larger numbers of people than others. So what I have decided to do is open up an opinion poll over here where you all can vote on what I should do. Please do remember though, if I have misrepresented the amount of work that would go into some of the options, I may have to do something different.
But what about…
If you have any more questions, or if you spot any bugs or mistakes, or even if you just wanna say hello, we’re always available at Kiwi Hangout or you can contact me by email at email@example.com or firstname.lastname@example.org
So this is the part that I really did not want to have to write. It just feels… unethical to me what I have had to do…
Some of you may be disapointed to hear that after the update, there will be a few donation links placed in select commands, namely the Help, About and Info commands, and as much as I didn’t want to place monitisation inside 42, and just keep it on the website where it is out of the way, the universe has kind of forced my hand.
I am not going to have enough money for rent in this coming academic year. Student Finance England has screwed me out of £1500 for undisclosed reasons, and this means that I will not be able to fully afford my rent or food. I have enough money to put a roof over my head for the first trimester, but after that… I hope everything will turn out well.
I am going to be hunting for a part time job while I am at uni so that I can put food on the table, but other than that, If you really like 42, Beta 42 and my work with them both and decide to send even just a couple quid my way, It would be very greatly appreciated.
Thank you so so much for everyone who uses my bot! It is such a humbling experience knowing that thousands if not tens of thousands of people appreciate the things I do.
42 has existed for 2 years now and in that time, she has:
- Improved the lives of over 2400 servers alone.
- Met over 190k different users.
- Collected over 150k tags.
- Performed nearly 2.7 million commands!
(I wonder how many of my users have decided to go and read Kiwi Blitz actually…)
It’s amazing just how far I’ve come as a developer, and how far we’ve come as a community.
Anyway. Heres hoping I can survive the year.
Footnote 1: The reason for this is that 42 caches all her data instead of reading it dynamically. Sharding is splitting the bot into multiple processes who each connect to Discord seperately, and having multiple copies of 42 all caching the state of the data when they were launched means they would all be competing for the files used to store the data.
e.g. If shard 1 and 2 load a file, then shard 1 changes the file, shard 2 doesn’t know about the changes and will just save its own changes over shard 1’s changes.
Footnote 2: No, it has nothing to do with changes to our family income, I have checked.
With regard to “University Woes”, SFE has decided to increase my maintenance loan by another £800. This brings me up to where I can pay my rent.
We think this is related to how it was uncertain whether my brother would be going back to university (and therefore meaning my parents would be able to support me more or something) but now they know he is in fact going back, they recalculated the numbers.
Donations would still be appreciated, but at the very least, you’ll be glad to hear that I am safe.