Showing posts from 2016

Why I prefer merging over rebasing in git

The argument between rebase workflow vs merge-based workflow is a lot like the argument between spaces vs tabs. There are pros and cons for each side as well as compromises in or near the middle, but at the end of the day, it mainly comes down to one person's personal preference, typically held for unspecified reasons. So I'd like to share my preferences, and my reasons, when it comes to git: the (currently very popular) version control system which features Distributed Version Control for Directed Acyclic Graphs and a Command-Line Interface that many people mock or struggle with. If you don't already know what rebasing and merging are, you should probably just look them up yourself, as I am only going to give a brief overview. If you don't even know what git is, this blog post is not for you, and you can safely bookmark it for later when you do eventually learn programming.

On one hand, you have rebasing: you change a commit's parent to the one you want it to be, …

Identity Crisis

I just saw a video where college students could not explain why a short white man was not a tall asian woman and an article to go with it, and it got me thinking. I'm genuinely fascinated by this subject and thought experiment, and I feel compelled to write about it. So what do I think?

Well for one thing, I think those college students just haven't fully thought through the implications of their beliefs. This is something known as cognitive dissonance and it is something everyone is guilty of to some degree. I myself have found a lot of conflicting beliefs in my mind that I had to sit and think about for a while before resolving. It's really easy to come to believe that one thing is the way things should be without actually applying it to any of your other thoughts and behaviors - this often results in hypocrisy. (Though, you can be hypocritical without having relevant cognitive dissonance). It's also possible to believe two conflicting ideas at once without ever real…

Micro Libraries and Monoliths

The internet is abuzz with the kik controversy and the 11 lines of code from left-pad that, when removed, 'broke the internet'. This whole thing is fascinating to me, and I feel compelled to talk about it.

Kik is a registered trademark, and trademarks are a thing for a reason. Also, companies are required to defend their trademark or they will lose it. I'm not a lawyer, so that's all I can say with certainty. Now, you are not at all related to Kik and you make an NPM package called kik. Then you are asked to rename it because Kik wants their name. How would you respond? Personally, I'd recognize that I'm in over my head already and just go ahead and pick a different name. The legalities of the situation are beyond my comprehension, but I have a strong feeling they are not in my favor. That's not what happened, though. The real kicker? None of this would have happened if packages were namespaced under their owner's name (what I consider to be 'sane&#…


I haven't really studied game design much, but seeing as I want to make games, I figured I had better at least pay attention to the games I play and see what I can learn from their design. I've learned a lot of things about game design and a lot of things about myself - namely, I like puzzle games, and there's a trend in puzzle games that makes them more fun for me.

I've recently been playing a lot of Portal. A lot. I've played Portal 1, Portal 2, Portal Stories: Mel, Aperture Tag, Rexaura, and many, many community maps for Portal 2. (Though I have not played anywhere near as much as this guy). One thing I have noticed consistently is that I enjoy fizzler puzzles - you know, those ones where one or more Aperture Science Material Emancipation Grills play a crucial role in the puzzle?

Fizzlers in Portal 2 allow you to pass through them, but they impose certain limitations. You cannot shoot portals through them, and when you pass through them your existing portals are…

Why do people like puzzles with multiple solutions!?

I've asked this question before and I still want to talk about it, because I still cringe when people mention it.

I frequently notice reviewers and players complaining about puzzles with only one solution, saying they instead want puzzles with multiple solutions. I cannot wrap my head around why, as there are so many drawbacks both from the player's perspective and the designer's perspective. Why would people want this when it only subtracts from the experience?

Having multiple solutions can either make a puzzle too easy, or too confusing. For example, the player often thinks that every part of the puzzle has a purpose (this is how our brains naturally work), but with multiple solutions, some parts of a puzzle might never be used for the solution the player uses, leading to confusion - red herrings may be enjoyable in some circumstances, but puzzles are not any of those circumstances. It is also significantly more difficult to design a proper puzzle with multiple solutions…