About six months ago, I started working on a game for my BTEC project. However, things wen’t sour with the school and I no longer am a student there. I had a choice. Go for a super simple clone of something like Flappy Bird, or make a game that’s a bit more like a AAA game. So what did I do? I went for the AAA game.

The AAA game route was somewhat hard. I built it in Unity 3d with Networking (more on this later). The game? A World of Tanks/War Thunder game styled around the hit anime and manga Girls und Panzer. Why? I like the series and had completed it about then. Anyway, it was a semi-bad idea. Finding and then texturing and using tank models that are Creative Commons/free to use is difficult. However, the Unity Asset Store pulled through and found me a Panzer IV that I re-textured to Ooarai’s Anglerfish team skin.

The next hurdle was Networking. This is where things went horridly wrong. The initial version had two cubes that connected together and could interact. Good. And after a few months, we had a working networking thing with fully functional shooting etc. However, I went to create a “release” variant. This is where the curse of UNET strikes. To give some background, this is what Unity publish about UNET:

Unity Personal

For beginners, students and hobbyists who want to explore and get started with Unity.


No credit card required

Yeah, that’s a lie. It would cost me, on estimate, £150 a month to run this. Not going to happen. So I turned to an old friend, Photon Unity Networking, who offer legitimately free hosted networking for you. Yes you can only have 20 players concurrently, but it works fine. And is more than functional. However, this caused issues. The way that I was managing the original tank driving was poor. The implementation was terrible, and it resulted in the tanks flying rather than driving as they should. Not good enough. Back to square one. And this is where we are at.
For PTU, I picked up a copy of Physics Tank Maker from ChobiGames (it was on sale!). From this, I started building the game as it is.
The current state is to use the Physics Tank Maker to handle all tank physics driving etc. The only thing I really have to do is synchronise all the players together. Not hard right? Think again. The current tests give me anywhere between 3-6 players spawned in a two player game who are unable to interact and who’s movement is not synchronised. Amazing. However, this is vastly better than flying tanks and there is a working tutorial level.

Continue reading

For the longest time, I was the webmaster for South London Liberal Synagogue. I took care of the site, kept it relatively up to date and provided a fair amount of technical support for the various editors of the site. I originally was asked to maintain an existing site, but with a new chair came a new brand for the place, and so came a new website (built on Bootstrap because I’m lazy and it’s easy to integrate with various things).

At it’s peak, I was spending up to 5 hours a week supporting the editors, updating the various extra tools I was using to keep it together (things like calendars etc.) and generally cleaning up after people. The site functioned well; loading times were under 3 seconds on slow connections and all pages were pretty easy to edit (a nice WYSIWYG editor). All in all, it was a good site and I was proud of it.

SLLS Site (mine)

My version of the SLLS website (26th Sept. 2016)

There was one small problem. The president. She did not like the new site. The old webmaster had been her grandson and she had almost total control over it. When I came in, all that power vanished. She hated that. At points, I was receiving up to 20 e-mails a week from her, demanding various things like ‘a return to top button’ or ‘a scrolling display of events’, even though we had a calendar for the latter, and return to top buttons are not seen anymore on the web (except for strange fringe cases).

Other than that, I liked the site, and nearly everyone else did. We gained a substantial number of members though it and countless visitors.

However, this ended quickly when our chair had to step back for personal reasons. Very quickly the president (who, in our constitution, holds no power and is merely a figurehead, but in reality everyone bows to because they are manipulative and horrid) takes control by manipulating the vice chair and most council members. They “decide” that the website was “not fit for purpose”, was “difficult to update” and “constantly a nightmare for users and editors”. I was not told any of this, but was just told “you are not needed”. The site was taken over by her son (who has no technical skill what-so-ever) and my site was stripped away.

I was gutted. What happened next makes it worse.

The new site was built on WordPress, with a theme that cost a lot of money (probably put on expenses, I will find out at the next AGM). All features that I was pestered for were missing. Almost all information had vanished overnight. It’s also a nightmare for anyone to get information put back up. It is mostly just a wall of text on one page.

new site

The new WordPress based website.

It gets worse.  Notice how my assets, that I took myself with my camera, and spent time creating, for the website, were stolen. No credit is given.  The site also takes over 10 seconds to load on average, with needless animations for images that just slow the site down and make it a poor end user experience.

What angers me more is the security behind it. It is terrible. I was asked by someone to test the security. I found an open login page, the ability to get the admin username in under 5 seconds and was going to work on getting the password, but was asked to stop there.

If anyone wishes to offer me jobs to make sites, I will more than oblige. Just contact me. I really do appreciate it. You can view and toy about with my version of the site here, on the Wayback Machine. Their current site is available here.

Lesson learned? Never let manipulative people get hold of any kind of significant position. It does not end well.

Unity is dead. This is an end of an era for Ubuntu. I remember, back when Ubuntu 10.10 was released, the excitement I had for Unity. It looked cool and was. And if i’m honest, I like the layout. I used to use it as my daily driver. However, it started to be too ridged for me and eventually I swapped to MATE and KDE with Unity styles.

A couple of days ago, Mark Shuttleworth announced that Canonical will be killing Unity, Mir and Convergence. What a shame! For people like my parents and grandparents, Unity is excellent. It’s simple and clean. It’s also semi-touch friendly, so works well with a touchscreen laptop. However, I don’t see the killing off of Unity as such a big deal as I see the killing off of Mir.

Mir was meant to replace XOrg. And to be honest, it looked like it would for a few months. However, as it’s now dead, what do we have left? X11 and Wayland. Now there has been (as far as I know) no word on what Ubuntu will run as the desktop engine as Mir is dead. If it’s X11, that’s depressing. It’s old and antiquated. If it’s Wayland, it had better work!

Let’s hope it works out fine. It’s also a shame they are going to GNOME. Why not MATE with the Mutiny style from Ubuntu Mate?

rMBP - (C) Endgadget


I decided to buy a MacBook Pro. Why? School. Now, before you tell me I could have got better hardware for my money, yes, I know I could. Heck I could have got myself a Razer Blade Stealth for the money I paid for this, however, I got the rMBP. 


I spent just shy of £1400 on this machine. For that, I got myself:

  • Core I5 5257U dual core @ 2.7GHz
  • 16GB 1867Mhz RAM – DDR3
  • Intel Iris 6100 Graphics
  • 256GB PCIe SSD Storage
  • 2560×1600 Display (Scales to max of 1680×1050

Wow, this computer is fast! It starts up really quickly, as in 10 seconds from power to desktop. I love it. I now am not scrambling to get lesson information down before class has fully started. I love it. 10/10 on speed. My only small grumble is the ports. I have:

  • 1x MagSafe (YASSS! THE BEST THING!)
  • 2x Thunderbolt ports
  • 2x USB ports
  • 1x 3.5mm headphone jack (what? are these still a thing?)
  • 1x HDMI
  • 1x SD card slot

The one grumble is the HDMI port. It cannot run adapters, forcing me to get MiniDP to VGA rather than just using my HDMI to VGA adapter. I also need an ethernet adapter. WiFi is solid though.

The Software

The Good:

Spaces are good. Almost as good as two displays, but not as good as two displays. However, I can now have information on one display, and my writeup on the second space. I never used workspaces on Linux or multi desktops on Windows, but on OSX, its just a swipe away. 10/10 there.

The dock, its good. Better than the task bar to me. I prefer it. NEXT.

Spotlight. It is awesome! Seriously. I had to go back to my windows desktop and install launchy on it to get a similar application. Apps are just 3-5 keystrokes away.

Finder. It looks pretty and is fast.

60% charge used in 80 mins while playing Prison Arcitect.

Can play prison architect. 

The bad:

Finder – does not always update automatically. It is pretty good, but not perfect. I wish the views would be folder-independent.

Damn, OSX eats RAM like I eat crackers.

The Ugly:

Chrome. It uses so much battery in comparison to Safari. So I now use Safari instead.


If you want a Mac, get one. It is fast, looks pretty and is an ok laptop for the money. However, don’t try gaming, it is for productivity, not gaming.

OSX is just as good and versatile as windows. I prefer it now.

This laptop has handled school so far, so lets hope it continues too.

9/10 – improve finder.

Recently (as of Feb. 24th), internet giant Cloudflare has experienced a bug that leaks users passwords, cookies, tokens, API keys and other rather sensitive information. So what happened?

Who are Cloudflare?

Cloudflare are a Content Delivery Network, internet security company and a distributed domain name server. It sits between the end user (you) and your favourite websites and services (e.g. Fitbit, Discord, Reddit) and protects them from DDoS attacks and other malicious attacks.

What happened?

As I said before, a bug was found in a couple of areas of Cloudflare’s code that allowed passwords, API keys and other sensitive information to be leaked. It was compared to the famous 2014 Heartbleed bug in the OpenSSL software library.

Who found it?

Luckily for us, the bug was found by someone on Google’s ‘Project Zero’. Tavis Ormandy discovered the bug after seeing multiple corrupted pages being returend by some of his HTTP requests that ran through Cloudflare’s system. Like a responsible and good person, he disclosed this immediately to Cloudflare, who went on to disable the affected services within 47 minutes of the issues being brought to light.

What was leaked?

Various things were leaked. We are not fully sure of what exactly has been leaked, but the following is a somewhat useful guide:

  • Passwords
  • API Keys
  • Cookies
  • Auth Tokens
  • Usernames
  • Private Messages

Has it been fixed?

Yes. Cloudflare was amazingly quick at fixing this. It took them 7 hours to complete it globally. Good job guys.

So what went wrong?

In one phrase. HTML Parsing. In a bit more complex, basically the HTML Parser was being updated. A bug meant that the server would have a buffer overflow and would read out unused/unallocated memory and dump it into the html file. This would result in (on occasion) sensitive information being dumped. Only 1 in 3,300,000 requests would actually cause this to happen, so it was a tiny number, but still a number.

Cloudflare have a nice rundown here.

Who was affected?

There is a GitHub Repo with the full list (its a 70mb txt file in a 22mb ZIP archive). There is also an excellent website called Does It Use Cloudflare? It does what it says on the tin.

Final Thoughts?

It worries me that this happened, however at least it was solved quickly. What annoys me more that Cloudflare fixed this, and when I presented a similar (but not as serious) issue to my school, they tried to throw me out.

#cloudbleed on Twitter is interesting too.

Anyway, see you soon. Also, check out Citation Needed Fan Edition.