The Hax Perspective's articles
Programming tips for efficiency and problem-avoidance
Sep 15th 2015
Many of these will seem quite simple, though do note that I wouldn't be mentioning them if I hadn't encountered some sort of problem to be solved or found myself picking through some spurious-looking code in the past. These are also almost entirely mathematical in nature.
1. Police all input values to any ArcCos or ArcSin function to be sure that they're definitely between -1 and +1.
If there's ever any doubt, by which I mean if it is anything less than mathematically certain that your input values will be in that range, clamp them so that they will be. Here, 'clamp' means 'if the value is greater than 1 or less than -1, set it to be 1 or -1'.
Things which operating systems should be doing
Aug 16th 2015
I've thought a lot about the operating systems I use or encounter, mostly in the context of frowning upon unfriendly, inconvenient or antiquated behaviour and feeding my stack of inner hatred. As such, the following will likely have the undertone of a bit of a rant, but it is nevertheless presented as opinion with reasoning in the usual manner.
This is not necessarily a list of items which all modern operating systems are lacking. Indeed, some OSs may already satisfy a given item completely; the point is that not all do, and I believe these should be universal.
1. The function keys, at least in part, should be exclusively user-programmable.
Experimental game development concepts
Jul 15th 2015
Here's a few things I'd like to see, mostly from a more scientific perspective of having them tested out on the general gaming community and observing the reaction, though I wouldn't mind trying the first three concepts myself. I'll admit it, I do like making lists of things which interest me, and in that sense I guarantee that they're always a product of genuine thought or curiosity as opposed to a really weird and lengthy brand of clickbait.
1. Infinite difficulty
This is not a new idea overall, more the result of a particular conclusion related to how certain good games handle difficulty.
Meme assassination: Division by zero
Jun 15th 2015
One of my previous Mathematics teachers liked to recall an occasion when he gave a guest talk at an elementary school, where he found that the students would always respond to problems which could be stated within the scope of what they already knew, but couldn't be answered within that scope, with the same phrase:
"You can't do that."
This is understandable, of course; I don't expect a young child to look at the equation x + 1 = 0 and conclude that there must exist numbers below zero for the purpose of solving it. I certainly don't expect anyone not studying a maths-powered subject at sixth-form college to look at x² + 1 = 0 and conclude that there must exist something beyond the 1-dimensional 'number line'1, though he did have a point in that it would be a step forward to teach the kids to say something else such as "That has no solution"2.
How to eliminate Power Creep in persistent online games
May 15th 2015
In which Hax presents a thinly-veiled plot to undermine the Experience/Level system, and the reader berates his terrible choices for example names.
Unfortunately, this does not refer to protecting yourself online from incredibly dedicated stalkers. The best advice I can give for that is never to reveal your name, e-mail address or your presence on other online communities, and definitely never use Facebook or the like.
Instead, this article refers to what should probably be called 'Power Inflation'; a concept often employed by MMOs or other games with some degree of persistence as a fast and cheap means of providing long-time players with new goals (i.e. a reason to continue playing). The trade-off, of course, is that the player becoming more powerful is equivalent to all previously-released content becoming more trivial. If the content was well-designed, it would have been fun and challenging when it was released, which is lost if the player is able to inflate their power indefinitely as new content is released.
Songs which describe themselves incorrectly
Apr 15th 2015
In which Hax channels his seething inner pedantry, and the reader changes the channel.
Music time!
As I understand it, there's always been a strange mantra present which states that Metallica is the only band which is allowed to contain its genre within the name of the band. It occurs to me that, while there are a lot of ska bands guilty of that, at least the description remains valid for them, whereas it is quite tough for Metallica to make the same claim after releasing St. Anger.
1, 2, 4, 8, 16...
Mar 15th 2015
In which Hax argues with a calculator, and the reader argues with geometry.
If I presented you with the titular sequence and asked you to discern and continue the pattern, implying that a pattern exists of course, you'd have a few options. If you were a mathematician with a particularly bloody mind, you could continue it however you like and point to a corresponding Lagrange polynomial to match your answer1. Alternatively, as a sensible person, you'd probably look for clues about how each number in the sequence changes from the last, and conclude that the simplest pattern is doubling and that the next number is 32. At that point, even if that wasn't what I had in mind, you have every right to be quite proud of your analytical skill because yours works and has high simplicity.
Of course, I'm getting at something here. The method I used to generate those numbers was indeed not a doubling process, at least not directly. It could turn out that what I did was equivalent to doubling, though that would be a claim which needs proving, and it is this article's objective to make abundantly clear the importance of such proof no matter how good the initial guess appears to be.
Modern word usage needs to backtrack a decade or two
Feb 15th 2015
In which Hax displays a surprisingly non-existent amount of loyalty to British English, and the reader gives it at most a couple of months before the footnotes start outweighing the articles.
First off, I promise that this has absolutely nothing to do with the whole US/UK thing. I already prefer to write 'center', I don't disagree with writing 'color'1, and American football has just as good a claim to be considered 'football' as Association football (soccer) does2. For reference, David Mitchell's opinion on US use of English sums things up quite well.
Instead, this is about how certain words seem to be used nowadays. What follows is a set of words with their correct usage, their incorrect usage, and the acceptable replacement:
How to choose a keypad code if you never want to change it
Feb 6th 2015
In which Hax promotes the use of combinatorics to justify sloth, and the reader learns about the dark side of forensics.
Fingerprints get everywhere, and they are usually not your friend unless you're doing something illegal or you have a warrant. They're no good as a means of electronic authentication, since the legitimate user's fingerprints inevitably end up elsewhere on and around the very device which uses them as a password1 (this means phones, laptops, etc). Even if the authentication isn't biometric, fingerprints will still betray a password or code if the input device being used to enter the code has that task as its only purpose, and this will be the focus of today's exercise.
It's the stuff of mystery/crime novels and Phoenix Wright; dusting the keypad for fingerprints to find the digits of the code2, as well as possibly gaining information about whether the killer was wearing gloves. This problem is fresh in my mind at the moment, having personally witnessed an electronic keypad which had not had its code changed for so long that the buttons themselves were worn away. Worse still, the code itself only used two unique digits, clearly discernable from a quick glance at the keypad. At this point, the only possible redemption would have been if the code was actually twenty digits long, but alas, it used the standard, meager four.
How to hate on Java properly
Jan 15th 2015
In which Hax attracts inevitable pedantry due to simplified explanations, and the reader loses any remaining respect for Mojang.
Most of the bad-mouthing of Java around the Internet is completely wrong. Here's a sample of what I see on a vaguely frequent basis:
Java is slow.