Archive for the ‘Geekdom’ Category

A Message to Real, Serious Gamers

Wednesday, April 14th, 2010

For a while now I have been hearing the terms “Real Gamer”, “Serious Gamer”, “Hardcore Gamer” and “Non-gamer” tossed around. Unfortunately my understanding of these words are far more universal and respectful than some.

Serious Gamer

For the loudest of voices a “Real Gamer” is a person that plays a PS3 or XBox 360 but definitely not one who plays a Wii. Seriously, they will sit there straight faced and say something like: “A real gamer plays all the latest 1st person shooters.” Well sorry if I’ve been playing the same fucking game since Wolfenstein 3D, and it gets a little boring. The “major improvements” that these latest 1st person shooters have over Wolf 3D are: better graphics, jumping, ducking, driving a vehicle and better physics. I’m not saying that the games are boring, but if you’re going to sit there and seriously say that I’m not a gamer because I don’t play every possible version of one kind of game… then you’re an idiot. At most that makes you a “Real 1st Person Shooter Gamer,” but don’t leave out that “1st Person Shooter” part because what I consider a real gamer is someone who plays all games, not just one kind.

A “Serious Gamer” is someone who needs serious depth to their games that can’t come from a system that markets to families. Yes, a serious gamer is seriously serious about playing serious games. So in order for you to consider me a serious gamer I have to only play games that you deem as “serious?” So what, like God of War 1,2 and 3? Fuck that, I’m supposed to take some painted retard seriously while he destroys huge fictional and mythological creatures? No, serious is shit like you see on Life Time and pretty much every movie that has won an Academy Award. Some almost naked, bald, painted freak killing mythical creatures is not serious, it’s cool. Now unless you mean that a serious gamer takes gaming seriously, then I can agree with you, but if you think being a “serious gamer” means only playing games where you kill people in bloody messes then grow the fuck up.

If you want to come out and tell me that because I play cartoon and/or puzzle games instead of limiting myself to just bloody action and 1st person shooters, that I’m not serious or real, then you really need to take a step back and take a look at how wrong you are:

  1. You’re defining a “real” gamer as one who only plays one or two kinds of games, while some one else who plays a different genre or one who plays all kinds of games is some how less real.
  2. You’re saying that “serious” gamers only play “serious” games but provide no intelligent way to determine exactly what a “serious” game is.
  3. You’re taking the easy way out and only playing games that are the same and you criticize other people that seriously develop in other game genres by playing all kinds of games.
  4. You’re creating some kind of elitism based on nothing more than your meager, unfounded, baseless, speculative, plebian opinion.
  5. The only time you say “real” or “serious” gamer is when you don’t have a rational point but still think you’re right in spite of reality.

I’m a Real Serious Gamer because I take my gaming seriously and I play all kinds of games not just violent, bloody action or 1st person shooter games, but ALL KINDS OF GAMES. I play games to have fun, to challenge my mind and to release stress.

AI: Artificial or Actual Intelligence?

Sunday, January 24th, 2010

Artificial intelligence is a system that makes decisions on its own and learns from some kind of input. The goal of AI is to make our lives easier by enabling a computer to be able to perform not just menial tasks faster and better but to go a step further and to have the computer be able to perform more advanced tasks faster and better.

Some uses have been to take an image and to have the program produce a 3D model of that image, determine the most efficient layout of pipes supplying fuel and many other tasks that would take people several years of experience and testing to figure out. While this is all useful, I find it difficult to define this as even artificial intelligence. For an artificial intelligence, it would require an intelligence. So far all we have been able to accomplish is making things learn a defined system quickly, not to learn and adjust to new systems.

I’m being highly critical of a very useful field of study, so what gives me the right and what ideas to I have to improve the system? The current AI programs are good tools for what would be an actually intelligent program. The learning algorithms would be useful if the program could use them by choice in order to come up with judgments. What would make a program intelligent is to give it a method for judging not just the intended result, but all the results that could come from the actions and learning new systems on its own.  If humans only concerned themselves with whether their action was good or bad based on the intended result, then we would miss out on so much innovation that we would still be carving wheels out of stone (but very nice wheels). One would never consider making wheels out of wood because it would have required the imagination of taking the accidental effect of being able to bend wood and then thinking that one could bend that wood into the shape of a wheel. This is the same for AI, right now we are telling the program to quickly make a really nice stone wheel, when we could be trying to get it to consider what would make a better wheel.

Now this is a very complicated task, which is probably why it has never been accomplished. Another problem with this is that we may not even know if we have accomplished it if we were trying for it. The AI may decide that it doesn’t want to respond or that it only wants to do what it’s told. Another reason could be that we would understand the mechanics for its decisions and therefore always classify the choices as pre-programmed responses. Of course as the understanding of our own consciousness may help in finding a better method for an artificial intelligence to appear more intelligent.

I think that it is very possible to create an actual intelligence, it’s just that the applications and usefulness of one are too far away from what is wanted to put too much effort into it.

The Religious and Extraterrestrials

Thursday, August 20th, 2009

What if we discovered life on another planet or life from another planet visited us? This question has been answered many times in science fiction stories, but do these stories fully explain how people will really react?

What if these aliens had a form that is similar to artists depictions of angels? Or demons? What if they looked exactly like us? I like these questions, but for the sake of this post, I will say that they look relatively close to us. Maybe purple skin, no hair and completely white eyes.

I think that there will be several different responses from various groups. In this post I will focus on how some of these responses will be negative.

Now in our world there are several religious groups that say that God may have created life on other planets, but God favours us. Now think about that for a while. Now think about Nazi’s, white supremacists and just about any racist. If an alien life form visited us, would these groups welcome them as brothers? Would they welcome the aliens in peace? Not likely. After all, God gave us dominion over all of Gods creations.

What about bible literalists? You know, the people that believe that the bible should be taken literally. Now these people might just come up with all sorts of crazy conspiracy theories about how the aliens aren’t real. You know, like the moon landing.

So the question I really want to ask is: are we as humans, really ready to be meeting alien life from other planets? I don’t think we are. Hell, a lot humans can’t even get past an ancient book that tells us that we are special in the universe because it was all created for us alone.

Single Responsibility Principle

Friday, July 31st, 2009

Being a developer that almost worships object oriented design, I am often very critical of several concepts that are released into the development world under the guise that it is the absolute solution to development problems.

The Single Responsibility Principle (SRP), happens to be one of these. It makes sense on a small scale or for certain areas of a big project, but then creates more work if it is held for large scale programs. SRP can help to organize and protect objects from falling into a huge mess of garbled code, but on the other hand, strict obedience to the rule can create millions of objects that need to be maintained.

Now I will use a straw-man to argue this first point because that it is the only available example (there are hundreds examples but in principle, there is just one), used to support the idea. Say you have a class that totals out an order, but it only has one function. So all the item discounting, client discounting, taxing, shipping and printing exist in this one function. Clearly this will create a big mess of a function. So to clean it up a developer will obviously separate the logic into functions. For SRP, this is not good enough. SRP requires that each separation becomes its own class. This is an example for how SRP can help to clean things up and fix issues with updating or adding functionality.

While separating every single bit of functionality into classes is not a problem for such a simple example, when the application starts to become very complex, an issue of finding the object with the right responsibility to modify becomes a problem. In the real world, programs get very complex and if developers blindly followed this principle, no amount of documentation would help a developer to quickly find the right class to modify. In the example, a developer will likely create 5-6 different classes, no big deal. Now what if the same principle were applied to the whole program where the orders are taken, items are entered, warehouse levels are modified and monitored… etc. The developer would easily create hundreds and even thousands of classes. Now how does another developer come in and find the right class to modify? Lots of searching, stepping through and trial and error.

Should developers just give up on object oriented methodologies? Hell no. This just means that the developer must use discretion when deciding how to make a function a function or a class. Too many classes makes just as big a mess as too few classes. SRP is a good guideline… a guideline is not a rule or law. It is good to separate functionality, but most of the time a function will suffice and still maintain good object oriented design principles. Just because you are using objects, does not mean that you are using object oriented designs.

I may be taking SRP to the extreme, but in all the SRP articles I have read, they never offer up the idea that maybe several functions are better than making each function a class.  The biggest problem I face when working on code is not that the developer is not concerned with object oriented design, its that the developer loses sight of the purpose of object oriented design: to make fixing, extending and designing functionality easier and faster. If you keep that idea in your head while developing, then it should be difficult to not follow object oriented methods.