Hotswappable Spigot Plugins
March 23, 2022
Today, I write about how I set up a 1.18.2 Spigot server in Eclipse which lets you hot-swap plugins in Java 17.
A blog by a computer scientist
Today, I write about how I set up a 1.18.2 Spigot server in Eclipse which lets you hot-swap plugins in Java 17.
In this informal tutorial, I write about how you can use Java’s dynamic proxies to handle Bukkit’s ProxiedCommandSender
in a more natural way.
Today, I describe how I added a page table of contents to my mdBook projects.
Today, I write about making my dream programming language. Again.
Today I cover a few more features that exist in Java that most intermediate Java developers don’t know about. Similarly to part 1, we cover features that may not be useful in day-to-day programming, but are useful to know in the Java language. We will cover final classes and methods, anonymous subclass implementations and the double brace initialization.
Today I cover a bunch of features that exist in Java that most intermediate Java developers don’t know about. In this tutorial, I cover the various types of constructors a class can have, the power of using code blocks to control scope and how to use labels to manage nested loops.
Today, I write about how I created my Elm-Brainfuck-IDE project. I also discuss the design choices that I went through and how I used typed CSS in Elm.
After attending a lecture about continuous integration and testing methods at university, I decide to put what I learned into practice and try to use GitHub Actions for an Elm based project.
I discuss what I’ve discovered about non-free JavaScript and LibreJS.
Today, I write about an attempt to make my dream programming language.
I write about Katana Zero, a game about killing people and messing with time, and state my opinions on the various aspects of the game.
Today, I write about an annotation system called “Safe Reflection” which helps reduce runtime errors that can occur when using reflection.
Today, I write about my recent thoughts about proprietary software, as well as the terms of service (TOS) for various services online. I also discuss my thoughts on internet advertisements.
I write about my descent into the Nix programming language and try to push it to its computational limits.
Today, I write about my attempts to install the Minecraft launcher on NixOS.
In this playground, I overview how to access classes within packages where you may not know the name of said package at runtime.
Today I write about the process of upgrading NixOS from 18.09 (Jellyfish) to 19.03 (Koi), as well as my thoughts on operating system updates in general.
Today I write about how I managed to install a custom login manager theme on NixOS, and my journey in trying to understand NixOS a little bit more.
Today I write about a new game that involves chess and poker.
Not everything is perfect when it comes to a fresh NixOS installation. Today I ramble on about the problems I’ve encountered and how I overcame them in NixOS.
This tutorial outlines how to use reflection in Java for complete beginners.
I write about my experience in arbitrating my first chess tournament. (I highly recommend reading my previous post “A Chess Arbiter’s Course” before reading this post)
Today, I write about how I solved running a local jekyll server, specifically for GitHub pages, on NixOS, in order to view my blog posts before publishing.
My journey of installing the NixOS Linux distro on my primary laptop, which all started from my hatred for the Haskell IDE Engine.
I delve into the details of Java’s RetentionPolicy for Annotations and take an in depth look into the uses of annotations with the SOURCE
Retention Policy.
I decide to take a leading role in my second year software engineering group coursework project.
Despite having rooted my phone a number of times, I have never been able to find a coherent list of apps which take advantage of the features of a rooted phone. Today, I outline the list of apps which I use and state my reasons for not choosing the various other apps out there.
Today, I partake in a chess arbiter course in order to become a chess arbiter.
Just over two months ago, I wrote a blog post on an API I created called the CommandAPI. I decide to review the major changes since the first blog post and show how development has been since the creation of the CommandAPI.
Today I write about the strangest email I have ever received in my inbox and how that lead to a week’s worth of programming.
Phone battery. One of the most key things about a smartphone these days. The last thing you ever want is to run out of battery during the day, or even worse, before your 8am alarm in the morning and you end up oversleeping and missing your 9am lecture. Recently, my phone’s battery has been terrible and I strive to fix this issue.
Project Euler is a website dedicated to a wide array of complex computational problems. These are my Java solutions to these problems. This blog post reveals my approach to solving the problem, but does not explicitly state the solution. For Project Euler enthusiasts, if you have not completed problem 87 yet, I would recommend not reading this post.
Without a doubt, Celeste is a fantastic game. A tough platformer with the most heartwarming story I’ve seen in a video game all comes together to create an emotional experience. I write about my quest to collect all 175 strawberries from the main story.
I decide to create an API to allow Bukkit developers to use the new command UI which was introduced in Minecraft 1.13 (Aquatic Update). This post describes my process of creating it.
As a part of my summer Japanese Language and Culture course in Hiroshima, I visited the World Heritage Site Atomic Bomb Dome. During this field trip, I learned about the history of the atomic bomb which was detonated above Hiroshima and gained an understanding of how that affected the lives of people that survived the bombing.
In the Japanese language, there are three primary “alphabets”. The writing system consists of kanji, which are Chinese characters (over 50,000 different characters), and kana, which consists of hiragana and katakana, each of which contain 46 characters. Today I write about my journey in trying to learn kanji.
I wrote a bookmarklet to help with one of the most annoying YouTube issues - deleted videos in a playlist.
This blog post contains spoilers for the video game Hollow Knight. If you don’t want to be spoiled by some extra lore relating to the origins of the story, I’d recommend you don’t read this post.
A friend recommended that I watch A Silent Voice. Even though it was the only anime-style film they had ever seen before, they said that it was definitely worth a watch. I followed through and this is what I thought about the incredibly emotional film.
Error 404 - Page Not Found. The most famous error message in the world. I think it’s about time I made a better 404 page!
I predominantly use Facebook Messenger to contact friends and family. A few days ago, I discovered Facebook Messenger Lite - a lightweight form of the Facebook Messenger app for Android only. I decided to switch to this app to find its pros and cons and give a comparison between the two.
A few weeks ago, I undertook a rock climbing course with my flat mate in order to climb without an instructor. Today, I completed what I like to call “the most difficult climb”.
After my previous post, I want to explain a little more on how I create those Blockly blocks. To do so, I’m providing an example of adding the ability to let a Minecraft player perform a command. If you have not read my previous post, I highly recommend you do (to get some context for this post).
When my elder brother had introduced me to Minecraft, I thought it was the greatest game ever. Two years after that, I discovered the Bukkit API and taught myself how to use it to create server plugins. Over 3 years ago, I had the idea of creating a program to allow non-programmers to create server plugins of their own. Now, I have the knowledge to begin that project.
For those that don’t know, I’ve been playing Minecraft for over 5 years and I enjoy creating nonsense in Java to add random little features for Minecraft servers. This time, I took things a little too far by trying to go beyond the limits of regular Minecraft.
Japanese Speaking exam. Just like any other speaking exam at GCSE level, it’s a nervous task which must be overcome. But what do you do when it all goes wrong?
It’s that dreaded time of the year: Exam Season. That time when you’ve been procrastinating and taking things easy by going to the cinema with your friends and watching TV with your flatmates. The usual. That is, of course, until you realise you have an exam in two days.
Let’s create a blog. How hard can it be? Everyone has blogs these days, why not make my own to contribute to society?