Categories
General

Brain Games

Blow Your Own Mind talks about ways to give your brain a surprise to keep it on its toes. It isn’t enough to do things every day that require good thinking. You need to do different things once in awhile.

Some examples are:

  • Enter your house/apartment with your eyes closed. You can use tactile feedback to find your keys and open your door and follow your nose to the kitchen.
  • Take a different route to work.
  • Shop at a different market than you usually do.
  • Turn pictures and clocks upside-down.
  • Brush your teeth with your non-dominant hand.

Basically, when you find yourself comfortable with a pattern, do something jarringly different! I try to read a lot, so I could read an entire book or magazine upside-down or sideways. I could walk backwards while getting ready for work one day (I guess I’d have to be extra careful with the stairs). Maybe one day I might try to turn my computer monitor upside down and try to work at it. Basically, if I can use my senses in novel ways, my brain will get a workout.

At work I have a few motivational words and phrases posted up at my desk, but after awhile they lose their novelty. So I turned them upside-down or at a 45 degree angle. Now my eye is forced to stop and interpret what I am seeing. Some people I know are participating in National Novel Writing Month (thanks, Cableshaft!), which is a huge change for people who don’t write much. Simple but jarring changes like these can help keep your brain alive.

Categories
General

Exercising Caution

I’ve been walking every other day or so. Nothing too strenuous. Just an hour meandering around my neighborhood for an hour. It is great to get outside and move about, and I’ve come up with a number of ideas while thinking and walking.

Well, it rained today, so I decided to make use of the treadmill in the basement. I left the defaults and set it for 60 minutes. It was at a much quicker pace than I was used to doing. Still, I felt great, and I was able to read a book for about 10 minutes.

Then I started sweating. Eventually I had to put the book down because it was going to get wet. I didn’t feel out of breath or anything, so I kept going.

For an hour, I managed to keep going at a brisk pace. I took my shirt off halfway through. Note to self: don’t wear the clothes you went to work in when trying to keep a brisk pace for an hour!

Still, I accomplished it. One hour, on a treadmill, at about 2.5 to 3 miles per hour. I was worried throughout that I was going to pull something or somehow injure myself. I definitely needed to drink plenty of water afterwards, and the shower was great.

I felt fine for awhile, but found that some blisters had formed under my feet. What a great place for them! Now when I got to work or anywhere else, I’ll be in slight pain. Perfect. On top of it all, I think I will likely wake up in the morning with sore muscles.

So if you’ve been immobile for a few years and are starting to get active again, remember to pace yourself. I probably should have realized that the faster pace could have been done in 30 minutes instead of an hour. I could even have given myself a 10 minute break between two half hour sessions. And with my blisters and potential soreness, I’m not going to be in a position to play basketball or soccer anytime soon.

That’s my Exercise Caution.

Categories
Geek / Technical General

Anti-spam Measures Taken

I recently talked about the huge amount of trackback and comment spam I’ve been receiving. I’ve added a WordPress plugin called Bot Check to prevent comment spam by requiring readers to enter a code from a random image in order to get comments submitted.

Trackback spam, on the other hand, might have to go through another plugin, if it exists. The Mod_Rewrite Trackback Spam Blocker would be great, but it isn’t compatible with WP1.2, which is what I am running.

Categories
General

Learning Kyra: Some Tidbits of Info

The Learning Kyra series to date:

  1. Learning Kyra
  2. Learning More Kyra
  3. Learning Kyra: Attack of the Clones
  4. Learning Kyra: Tiles and Z-Ordering
  5. Learning Kyra: Hit Detection

I’ve spent some time just reading through the documentation for SDL and Kyra. I’ve also tried to pick up what I can at Kyra’s forums on SourceForge.

For instance, GlDynArray has been removed from the library for the next update. I can substitute std::vector<> though, which for all intents and purposes means very little has changed except for a redirection/abstraction. For now, I need to use it when doing hit detection, but I shouldn’t rely on it for my own code.

I was thinking about the need for more complex animations and Actions for an individual sprite. For example, a sprite may have a standing animation. When you press the space bar, an attack animation should run, but I might not want it to loop over and over. Was I going to have to keep track of how many frames of animation there were for a given Action in order to make sure it doesn’t loop?

Nope! Turns out that Kyra’s KrSprite class has functions for determining the number of frames for an animation and for getting the current frame. Now I can do something like the following:


if ( theSprite->Frame() >= numFrames )
{
// then the ATTACKING animation is over and should change state
}

I also found that a sprite can clone itself. In my June GID, I had these fuzzy creatures multiplying, but I loaded in a resource from a file and created a sprite from the resource. I originally thought that I could optimize it by storing the resource to be used later, but I could further optimize by just using the Clone() function to create a new sprite. I could also use GetResource to get a pointer to the resource used by an existing sprite if I really needed it.

I want to work on some code to test what I’ve learned to see how well it works. I can get something substantial completed this week.

Categories
General

A Game I Will Never Make

I will never make a Texas Holdem Poker game. Ever.

Why? Because hundreds of trackback spam and comment spam just came through the past couple of days. One was for male impotency pills. The rest were for some online poker sites.

And if I do make a poker game, I would fear that people would assume that my company is the one behind all of the spam that I’m sure others also get. I don’t need the bad association.

Who can face themselves in the mirror knowing that they are making money by being so much of a nuisance? When these spams trickled it, they were manageable. Now I am afraid that if I don’t periodically check in a few times a day, I’ll be overrun. Luckily I manually approve these comments so that they don’t get published, but it is getting to be a lot of work.

Categories
General Linux Game Development

Fight Cancer; Donate for Research

I just found out that John Hall, former Loki worker and author of Programming Linux Games is fighting against stage IV (metastatic) Melanoma and is trying to raise money for cancer research. He is writing about his ordeal at http://overcode.yak.net/3.

PLEASE DONATE TO THE FIGHT AGAINST MELANOMA

Some friends and I have formed an American Cancer Society Relay for Life team called Team Melanoma. Our main goal is to raise money for cancer research. Please donate to our team through the following page:

http://www.acsevents.org/faf/r.asp?t=4&i=99915&u=99915-86454580

All money goes to the American Cancer Society. We’re asking for our donations to be used for melanoma research.

I haven’t donated to many charities in my life. I don’t exactly have an income that encourages donating to others. Still, thinking about it, I don’t currently have expenses that discourage donating to others either. Cancer is a disease that always affects “other” people, so when you find out that a bump or a tumor that you’ve been calling “no big deal” is actually a big deal, it is always a punch in the gut.

Please donate what you can.

Categories
General Personal Development

Hey, It’s What I’m Used To

I love reading Blog of Helios. To say that this guy is passionate about getting people to use a superior operating system is an understatement. He tends to get quite emotional when he finds that people come to him for help with computer problems that could have been prevented if they would just stop using Windows. Sometimes the stories are humorous.

His recent post, Only The Names Have Been Changed To Protect The, Uhh…Well, You Put A Name To It, is one example. He basically describes the story of “Richard” and his “garage”. His garage will be perfectly fine for months, then fall apart. And he tries to build it again. Using the same faulty parts. Every time. People easily break into it. The garage producer tries to sell security and locks afterwards.

Helios shows him his own garage. It has great uptime. It hasn’t crashed. He admits that someone probably could break into it if they were incredibly determined, but it is so secure that it deters most people from trying too hard. So when Helios offers to help Richard build a secure and stable garage, what does Richard do? He declines, citing:

I know my kind of garage. I mean, I’ve had this kind of garage for years and I don’t mind paying for it even if it means all the maintenance hassles. It’s just what I’m used to.

Obviously, Helios is talking about people who insist on using Windows even though they know what problems come with it. But this story also describes people who won’t try to accomplish their goals.

“I’ve worked this job for years. I can’t just quit. I actually like it here, even if there are some problems.”
“I’d love to get in shape, but I’m not that bad anyways. A little meat on my bones is good, right?”
“It’s so hard to quit smoking. Besides, we’re all going to die anyway. What difference does it make?”

In so many situations, a person will easily complain about his/her lot in life. At the same time, this person will make excuses to avoid making any changes to make life better. How many times have you tried to justify your inaction? Are things too hard to do? Too boring? Are you afraid of losing stability, even while complaining about a lack of stability? Are you afraid of what other people might think of you? Are you afraid of what you think of yourself?

When you find yourself wishing things were better, stop and think about what it is that would actually make it better. Wishing you had more money isn’t very good though. You need to be clear about your intentions. Wanting enough money to pay for the new house you’ve always wanted is much better than just vaguely wanting more money.

Once you know what your problem actually is, you can work to solve it. Clarity is incredibly important. Vague, wishy-washy goals aren’t goals at all. They seem to promote a sense of helplessness. When you say to yourself things like, “Oh, if only I had more time” or “I could do it if I wanted to” or “Why bother doing it since I’m just going to do a bad job anyway”, then you are only hurting yourself. You are convincing yourself that you will never accomplish anything, and then it becomes a self-fulfilling prophecy.

So many people get upset when they get a virus or when Windows corrupts their file system. But they just reload and try again. And again. And again. “Macs are too expensive.” “Linux is too hard and command-line-ish for me.” “Hey, it’s what I’m used to.”

It’s what I’m used to. Whether it involves migrating from an one operating system to another or migrating from one way of living to another, you are making a choice. When you choose the familiar over the strange but better, what does that say about you? What do your excuses say about you?

When you realize that the excuses you make are just a flimsy defense against the unknown, you can take charge of your own life. You can get that job. You can live a healthier lifestyle. You can have better relationships. You can do anything because you know that it is up to you to do so. Feeble excuses and mediocre expectations are your enemies. Understand why you have them, and then defeat them.

Categories
General Politics/Government

Legally Blog

I found out that the EFF has published a Legal Guide for Bloggers.

Whether you’re a newly minted blogger or a relative old-timer, you’ve been seeing more and more stories pop up every day about bloggers getting in trouble for what they post.

The difference between you and the reporter at your local newspaper is that in many cases, you may not have the benefit of training or resources to help you determine whether what you’re doing is legal. And on top of that, sometimes knowing the law doesn’t help – in many cases it was written for traditional journalists, and the courts haven’t yet decided how it applies to bloggers.

But here’s the important part: None of this should stop you from blogging. Freedom of speech is the foundation of a functioning democracy, and Internet bullies shouldn’t use the law to stifle legitimate free expression. That’s why EFF created this guide, compiling a number of FAQs designed to help you understand your rights and, if necessary, defend your freedom.

A great guide, especially for people who aren’t supposed to be getting paid to blog but do. B-)

Categories
Geek / Technical General

Wikis and Collective Knowledge

Wikis are great resources for collective knowledge. Wikis are counter to the culture in which copyright and patent laws encourage scarcity and “mine vs yours” debates. When everyone in the world is involved in a project, you would think it would break down, but they don’t. You would think that defacement would be a huge problem, but it isn’t. Most defacements are caught within minutes on Wikipedia, for instance. Anyone can make changes, but anyone can revert changes as well.

Wikis are great because anyone can make changes. Something missing? Add it! Spot an error? Fix it yourself! It’s open source hacking, but you don’t have to know how to program to participate. You just have to know how to write. It’s been used to document things publicly, such as software projects, but it is also used privately. Supposedly The New York Times used an internal Wiki for its staff.

I’ve contributed to a few Wikis, and I know more changes have been made since then by others. Post a comment and let me know what your favorite Wikis are!

General wikis:
Wikipedia: the free, online encyclopedia
Wike-Wiki: documentation on using Wine
Wiki Science: a Wiki about Wikis?
A Wiki in the Desert: about the game A Tale in the Desert

Game Dev:
Game Programming Wiki
Indie Wiki
Game Programmer’s Wiki
PixelateWiki
UnrealWiki: about the Unreal Engine

Programming:
GCC Wiki: about the Gnu Compiler Collection

Technical:
KDE Wiki: about the popular, open source desktop
Gentoo Linux Wiki: all about the popular Gnu/Linux distro
Linuxquestions.org Wiki: learn all about Linux

Categories
General Personal Development

Barriers to Success

Top Barriers Limiting You From Your Dream Job is an article that is making its way around the blogs. It’s a good reminder that it is very easy to make excuses for not accomplishing anything. Lack of time, fear of change, obligations, and the fear of being wrong are among the 10 items listed.

I really wish that I had learned years ago that “I didn’t have enough time” is not a valid excuse. Today I know that a lack of time isn’t really a lack. Every day has 24 hours. Every day is the same. If I didn’t have time to do something specific, the problem is more about my lack of committment and action plan than about the lack of a 25th hour. I didn’t really do a lot of game development these past two weeks. Is it because time went by quicker? No, it is because I let other things take up the time I would normally dedicate to development. Playing Wizardry 8, for instance. B-)

On another note, the human imagination is amazing. As children, we used the imagination to play games or pretend to be something bigger than we are. We’re super heroes! We’re firefighters! We’re saving the princess! Making the world a better and safer place!

As adults, most people use their imagination to worry. It’s always used to worry about the negative consequences. Imagination is rarely used to explore opportunities. I think that the fear of being wrong is just another symptom of the problems of “acting your age”.

Today, there are so many paths to success. Allowing any of these 10 barriers to prevent you from being great would be a tragedy.