Blog

"Design is not just what it looks like and feels like. Design is how it works."

- Steve Jobs

Stepping down from Waterfall

Authored by Jamie Mansfield Published on 2018-07-26 12:00:00 +0100 UTC

This is an import of a post I made on Medium.

Bungeecord is a very large piece of software. A piece of software that I once, and many still do, find to work like magic — though through years of working and handling bug reports for it, I now only see it as the greatest hack in all of Minecraft. Proxying for something as state dependant as the Minecraft client is just not an easy task, and IMO Bungeecord doesn’t do a very good job at it — being too over-engineered and not really allowing for modded support.

Waterfall picks up where Bungeecord stops, with in additional patches for:

  • Modded Support
  • Performance
  • Security
  • Features

Though we can’t address the fundamental design shortcomings of Bungeecord without breaking support for plugins (as evidenced by our recent 1.13 scoreboard patch). There are patches that we’d like to make, but aren’t worth the effort in case they do break plugin support (such as removing entity remapping, that would provide support for more mods).

Keeping Waterfall up-to-date is no minor task, and even for simple upstream changes caution needs to be taken. It is not reasonable to expect us to actually test every Merge Upstream commit we make, as they are far too frequent — we have to rely on intimate knowledge of our patches and what changes upstream could make that could break them — that doesn’t always end up in a merge conflict. In the past subtle upstream changes have broken some of our unit tests, or caused weird quirks in game. Things such as unit tests should have never been broken, and happened as the result of poor rushed merging. The others are inevitable and we’re fortunate that we have such a large community that will alert us with haste.

When I originally began maintaining Waterfall, it was simply because I was using it and I wanted it to be up-to-date with upstream changes. I made a couple pull requests, and a few weeks later I was on the team — 2 years later and I’ve been largely its sole maintainer. I have the largest amount of commits to the new repository (nearly 5x the second largest contributor). When I no longer used Waterfall myself, the community and people I know having used the software kept me doing it. I have no regrets have maintained Waterfall all this time, however I think I would regret maintaining it beyond this point.

So as of the 17th August 2018 (2 years, 2 months, 2 days since my first contribution) I will no longer be actively maintaining Waterfall. What that means is that I will no longer watch the repository and handle bug reports, and won’t actively merge upstream changes. I will still be around, so I may occasional handle bug reports or make contributions — just not actively do so.

Thanks for sticking with Waterfall for so long! Cya.

Microsoft acquiring GitHub may be great for Git

Authored by Jamie Mansfield Published on 2018-06-04 12:00:00 +0100 UTC

This is an import of a post I made on Medium.

Git is a decentralised system, yet oddly swarms of developers have settled on hosting their projects source code, issue trackers, and more exclusively on one convenient package: GitHub. GitHub and other Git-based services (such as Google Code) took over the top positions from SourceForge in the last decade. However, within the last few years, the picture is more singular than it ever has been for public projects — GitHub has dominated the industry, and serious alternative services have all but disappeared (e.g. Google Code).

Today (Monday 4th May 2018) it was announced officially that Microsoft have acquired GitHub for stocks worth $7.5 billion. The community has not responded well, and people have been discussing moving to alternative services over the weekend — GitLab has had a 10x increase in project imports from GitHub.

Yet perhaps this is not quite as bad as it may seem. In recent years Git has become synonymous with GitHub, and I’ve had multiple occasions where people new to Git do not understand the difference. A more fragmented industry can only be a good thing, right?

Well, my first thought was yes — competition would force everyone to innovate and improve their service; and the difference between the service (GitHub) and the tool (Git) would be far more apparent. However, that lacks the consideration that profits are going to be further spread out across the industry (though this would perhaps not affect GitLab as it is an OSS project, and hasn’t in the past) — perhaps making innovation slower ( I would think unlikely as GitHub have done a fairly good job without major competition recently).

Ultimately nobody knows exactly what Microsoft plans to do with GitHub, and perhaps they’ll leave it as-is with minimal meddling. Though it is interesting to consider what Microsoft’s competitors will (or not do) in response — both Apple and Google host plenty of their projects on GitHub, perhaps we will see a return of Google Code — only time will tell…

Simple Packs

Authored by Jamie Mansfield Published on 2017-08-02 12:00:00 +0100 UTC

Having gone about playing the 3D-era Grand Theft Auto titles, I found out that an implicit requirement for doing so was: installing mods. Mods are not a mystery for me, and I was more than happy to do so - but I was in foreign teritory and wasn’t sure where to go looking.

After some searching through existing guides on the Steam Community, through GitHub, gtagaming, and gtaforums - I has assembled a collection of mods of which improved GTA3 to a very playable, and near modern experience (other than graphics of course). I then went about doing the same for GTAVC, and will continue to do so for all older games I go about playing.

Guides

PastPapers - Where are we at?

Authored by Jamie Mansfield Published on 2016-02-21 21:24:51 +0000 UTC

So recently PastPapers has become more of a priority at Lexteam, and as such a website and public API documentation has appeared.

Now before I continue PastPapers is a tool in which students can revise / study subjects by testing themselves from questions from previous exam papers.

Ethan has been working on the tool for quite some time, and we are hoping to get something we can show off soon, however we are yet to get a full index of papers. This is because to prevent any legal issues down the line, we are going to check that the exam boards are cool with us indexing their papers. We will be contacting these boards as soon as we have a working demo of PastPapers.

Until then, the entire project is open source, and keep checking the PastPapers website for a release.

Neptune into Beta

Authored by Jamie Mansfield Published on 2016-02-14 12:48:41 +0000 UTC

Today is Neptune's first birthday and although Neptune has changed a lot over that year. I am pleased to announce that NeptuneVanilla (now the only Neptune implementation) is in beta!

You can get beta builds from my Jenkins instance - https://ci.jamierocks.uk/job/NeptuneVanilla/

LastPass - A review

Authored by Jamie Mansfield Published on 2016-01-14 19:10:28 +0000 UTC

Some time ago someone recommended I try LastPass, a password manager. I disregarded the suggestion until a few days ago when someone else recommended I try out a different password manager, Dashlane.

After some brief analysis, I found LastPass to be more appealing to me, probably because I found their website to look nicer.

Using LastPass I can say that I won't lose passwords, and I don't feel bad about reusing passwords occasionally, as I am now using much more secure passwords and different ones for every service. I can safely say that I feel that my online accounts are somewhat more secure.

Where is Neptune?

Authored by Jamie Mansfield Published on 2016-01-11 18:57:23 +0000 UTC

Almost 1 year ago I started Arno, what is now NeptuneForge. To be exact I started Arno on Saturday 14th February.

At the time I had 0 interest in expanding to implementing for Vanilla Minecraft as CanaryMod existed and I thought there was 0 point, however as CanaryMod (and CanaryLib)s development started to slow I realised there was lots of reason to have Vanilla support too.

Things were renamed and Neptune was split into three parts: NeptuneCommon, NeptuneVanilla and NeptuneForge.

It was soon after this that NodeCraft provided us with a server to test on. For which I am massively grateful.

By the end of 2015, much of CanaryLib had been implemented, and many plugins partially run on Neptune. In particular I was pleased with implementing commands, something of which took me quite some time.

It is now 2016, and I hope to enter a beta phase for both NeptuneVanilla and NeptuneForge very soon.

Introducing Flint

Authored by Jamie Mansfield Published on 2016-01-11 11:09:59 +0000 UTC

(EDIT: Since writing this post, I am now helping maintain CanaryLib through the normal repositories, Neptune will be soon updated)

Fast approaching is the Minecraft 1.9 update, of which under current circumstances CanaryLib would not be updated. This is a pain for those who use CanaryLib.

This is why I started FlintPowered, part of the NeptunePowered team. FlintPowered will specialize in the development of FlintLib, our continuation of CanaryLib.

More information will be available soon, however for now the GitHub repo should be sufficient.

Links:

The British Government - Encryption

Authored by Jamie Mansfield Published on 2015-11-02 17:14:00 +0000 UTC

This is an import of a tweet I made with twitlonger a while back

So the British Government want to stop companies using advanced encryption techniques, so that they can prevent terrorists, etc from using the Internet as a safe zone to communicate. :/

This is rather silly of the British Government, and will pave way for a far less secure Internet.
As proven by the recent hack on TalkTalk, hackers exist - be it in groups (such as Anonymous) or a single person (such as the kid who hacked TalkTalk).

Although hackers generally hack to prove a point (such as a company's security is weak), hackers often reveal customer information, such as account username -> passwords. While previously this information was encrypted to such a standard, the encryption was one-way (you could encrypt it, but not the reverse) the Government now wants the ability to be able to decrypt this information.

This is outrageously bad, because if the Government can decrypt the information; so can other people.

It is my hope that in-light of this people will start to use security methods such as two-step-authentication, so that just know the decrypted username and password isn't enough to access an account.

However this is not the end of the Government's efforts to help themselves. The Governments now also requires every company to track all their users search histories for up to a year!
Some companies have already been doing this for a large period of time, such as Google. This is why I use DuckDuckGo as my default search engine.

I should mention that all the Government needs to access this information, is a warrant or a hacker to have made the information publically available.

Minecraft Modding - Have we been doing it wrong?

Authored by Jamie Mansfield Published on 2015-08-17 18:31:56 +0000 UTC

For many years now, developers within the Minecraft community have been modding it. Be it the form of modifying base classes, or using an API such as Minecraft Forge or Bukkit.

It wasn't until Minecraft 1.3 that modding had all of it's current capabilities however, as that is when the client and server were merged. But that raises the question of why there was no community effort to do so before hand.

But to understand what I'm about to say, you have to realise why the merge is so important. The merge allowed tools such as Minecraft Forge to branch out (even Bukkit could have) to the opposite type of modification it was supporting, eg Minecraft Forge can now support servers running client mods natively, and can also support being used for server mods.

So why didn't the community try something like this before? Because we had a setup that worked (albeit a painful one), and that was enough. This was through the form of MCPC. Before Minecraft 1.3, this was a project which ported client mods to Bukkit. This added an extra (and tedious) step for the mod developers.

So to advance further into what this post is talking about, is Minecraft Modding still being done wrong? Well, Minecraft Forge now supports server mods, and as long as client mod developers make their mods properly they work on the server too. Sponge is being developed to supersede Bukkit and related projects, and also being built to run ontop Minecraft Forge. So I think we have pointed Minecraft modding in a great direction and I can't wait to see what the future holds.

Spigot at Minecon

Authored by Jamie Mansfield Published on 2015-06-05 22:12:54 +0000 UTC

Once again, Spigot will be exhibiting at Minecon. It was announced last saturday, just 35 days before the event.
This is be the second time they have exhibited at Minecon, as they also exhibited last Minecon (2013).

However exhibiting isn't cheap, and I ask you (if you can) to donate to them.
Throughout the past months, Spigot has kept Bukkit servers up to date and still running, even if they have done it in ways disliked by many of the community...

If you would like to find more information about Spigot's exhibition, see their post.

Changes to SOS4

Authored by Jamie Mansfield Published on 2015-05-25 22:37:00 +0000 UTC

Yesterday it was announced that State Of Sponge Four has been rescheduled to Saturday the 6th of June.
It was rescheduled to be a month prior to Minecon.

You can find more information regarding the reschedule on their post.

I will still watch the stream, and play on any test server.

State of Sponge Four

Authored by Jamie Mansfield Published on 2015-05-18 22:29:00 +0000 UTC

Once again SpongePowered have announced their next State Of Sponge, and like last time I will make a blog post about it.
In case you don't know what State of Sponge is it is where the Sponge team come together to talk about their progress in a nice ~2 hour live stream.
There is usually a demo server, running the latest build of Sponge, showcasing community and sponge-made plugins.

The stream should be available on twitch.tv/SpongePoweredMC, however it is recommended you follow them on Twitter in case this changes.
Permitting the server isn't as unstable as last time, I will be on there enjoying whatever the Sponge team has created.

The date has since been rescheduled - read more here.

You can find more information about State Of Sponge Four on their post.

Beyond State of Sponge they have made their Minecon submission public.
Hopefully they will get their place in Minecon as they so rightfully deserve.

State of Sponge Four has finished now, however you can still watch it.

State of Sponge Three

Authored by Jamie Mansfield Published on 2015-04-25 19:10:00 +0000 UTC

In little over 2 hours, State of Sponge Three will commence.
As usual I will watch and probably play on the server (if there is one).

For more information, see Sponge's post on this.

For those of you who were unable to watch...

Introducing NeptunePowered

Authored by Jamie Mansfield Published on 2015-04-18 20:53:00 +0000 UTC

What is NeptunePowered?

NeptunePowered is all about providing the best Minecraft can offer. We accomplish this by taking the best of Minecraft today, and preparing it for tomorrow. Currently we are working on Neptune, described below.

What do we do?

We currently develop the following:

What is NeptuneVanilla?

NeptuneVanilla is an implementation of CanaryLib for 'vanilla' Minecraft. Doing the same thing as CanaryMod, NeptuneVanilla differs in implementation and how closely it resembles 'vanilla' Minecraft.

What is NeptuneForge?

NeptuneForge is an implementation of CanaryLib for Minecraft Forge.

What about Arno?

Arno was renamed and lives on through NeptuneForge. Little change was made during the transition to Neptune, however much of it's code was moved into NeptuneCommon something of which it is now reliant on.

Contact us

You are able to contact us in our public IRC channels: #neptune and #neptunedev (irc.esper.net). You can also contact us through our public email: [email protected].

We are looking for developers interesting in shaping the future of Neptune: sign up.

Games I'm looking forward to in 2014

Authored by Jamie Mansfield Published on 2013-12-29 17:34:00 +0000 UTC

This blog post comes from one of my older blogs

1. Watch_Dogs

For the first game I'm looking forward to I've picked Watch_Dogs a mix of Grand Theft Auto and hacking. Watch_Dogs has amazing graphics, an alright sized and dynamic world. Here is a video showing off Watch_Dogs' beauty.

2. Quantum Break

For the second game I'm looking forward to I've picked Quantum Break. From the creators of Max Payne, Remedy brings yet again another amazing game, Quantum Break and if you don't believe me watch the video below.

3. The Crew

And last but not least, The Crew. The Crew yet again brings us another brilliant racing game. Time after time Forza Motorsport and Need For Speed bring us new experiences and brilliant graphics and I expect no different of Ubisoft with, The Crew.