Friday, October 17, 2008

My blog is moving

I've just set up a wordpress blog. It is available here

Wednesday, September 3, 2008

Concurrency: Attack of the Dining Philosophers!

Illustration of the dining philosophers problemImage via Wikipedia This semester, I’m taking a great, gothy stab at concurrency. My boss has been suggesting that I look into it so that he can re-evaluate some of our systems at work and how well they can and how well they could make the most of multi-core computers.

I can’t read an article, a blogpost or a web page about concurrency without seeing the main reason it is now such a hot topic. Processors are becoming seriously multi-core, and I don’t just mean dual or quad core. This article was posted to Slashdot yesterday and hints at the massively concurrent processors (how ‘bout 200,000) to come.

Think it’s an issue now? Yeah, it is.

Here’s Wikipedia on concurrency:

In computer science, concurrency is a property of systems in which several computational processes are executing at the same time, and potentially interacting with each other.The study of concurrency encompasses a broad range of systems, from tightly-coupled, largely synchronous parallel computing systems, to loosely-coupled, largely asynchronous distributed systems... Because the processes in a concurrent system can interact with each other while they are executing, the number of possible execution paths in the system can be extremely large, and the resulting behavior can be very complex. (referenced from Roscoe, A. W. (1997). The Theory and Practice of Concurrency. Prentice Hall. ISBN 0-13-674409-5).

As part of my concurrency investigation, I’m learning about Erlang. This is a functional programming language, in the same family as lisp or Haskell, and x = 2 is not at all the same as a C++ or Java x = 2. I was looking for an opportunity to learn one of these anyway, so…yippee. THE book about Erlang, Programming Erlang: Software for a Concurrent World has a few chapters on syntax and then goes straight to writing servers and other distributed stuff.

Absolutely not to be missed is the 10 minute retro classic Erlang: The Movie It has 80's hair, 80's computers and the BIG 80's glasses.

I'll look at some of the concurrency videos and see if there are any that I really think are great.

Over the summer, I did a lot of thrashing on my naive Bayesian Classifier because I was taking an algorithm in python and re-coding it in java. Erlang, although different from Python shares the characteristic of allowing the user to accomplish a lot with one line of code. I'm now thinking of taking a different application I wrote in java and re-coding it in Erlang to see what falls out in terms of design differences.


Reblog this post [with Zemanta]

Friday, August 29, 2008

Hello Seattle: GTAC 2008

City of SeattleImage via Wikipedia Here's what just showed up in my mailbox:

Congratulations! We are thrilled to be able to offer you a place to attend this year's Google Test Automation Conference in Seattle on October 23rd & 24th, 2008.

Thanks Google!!!

Reblog this post [with Zemanta]

Wednesday, August 20, 2008

Why Developers Balk at Unit Testing

Unit testing is a topic near and dear to my heart. It was at about this time last year that I was really getting myself up to speed with Google Testing Blog and also Adam Goucher's QA blog.

All of this reading and testing has pointed out some weaknesses in unit testing experience.

1. A developer sitting down to write code is less likely to unit test if they don't already have some idea of unit tests they are to write. If you're not working in an Agile shop, (let's face it, there are lots of us that don't) this can be intimidating. What if you don't write enough tests or test the right way? How should this thing you're supposed to write be unit tested anyway?

2. Code coverage tools, such as this post. So what are they really telling us about tests anyway?

3. How many tests should developers be writing? This question, above all, seems the least answerable. Google had a post that addressed this very question, and even their answer was a very murky, "it depends." They qualify their "it depends," by saying, "it depends on how much confidence the tests can provide in the face of changes made by others." Um...sure. Thanks for the really practical answer (not, really).

Now that unit testing frameworks are more fleshed out, I'd like to see more tools surrounding the tests that address these issues. Have interesting tools or war stories? Please leave a comment.



Reblog this post [with Zemanta]

Saturday, August 2, 2008

Classifier angst

The Bayessian Classifier is working...now I'm onto the Decision Tree classifier. What I noticed immediately is that these two classifiers don't really appear to be useful for the same types of data. Dr. Hung gave me several sets of data and I think that they would all be classified more accurately with the Bayesian Classifier.

Before I started this project, I hadn't really thought about how different data categorizes in different ways. The book I've been using for my algorithms is the excellent book by Toby Seagaran, Programming Collective Intelligence. In the chapter where he compares these classifiers, he points out how data can masquerade as meaningful data, but if it's being manipulated in the wrong way, will be meaningless. It's very important to pick the right type of classifier for the right type of data.

My challenge for coding the decision tree, is to code it so that I can use the iris measurement data AND the data in the Collective Intelligence book. My time is starting to run very short, but so far, the DTC's logic is much easier to code and test.

The categories for both of these have been pretty simple. I'm wondering what would happen if my categories got more complex.

Saturday, July 26, 2008

Another Semester to Bed

Games class is over which is why I haven't reviewed any games in the past few weeks. This does not, however, mean that I haven't been busy.

The end of a semester means that the focus of this blog will be changing again. I had fun blogging about games. I never seem to have problems criticizing anything, as my husband will be the first to tell you, so reviewing games came pretty easily.

For the next semester, I am expecting to be blogging more about test automation, semantic web and other topics that cross my path during my year of research.

Although my blog changes focus from semester to semester, I will say that I absolutely love using Zemanta. Ok, just let me go viral for a minute or two. Zemanta is a firefox plugin that pulls up pictures and links that can be added to a blog post with a click. I've been in touch from time to time with the guys who develop this app, and they really are a class act. I emailed them during my independent study in the Spring to ask about how Zemanta uses the Semantic Web. Their CTO sent me such a great letter about their technology and was encouraging to me about my studies. This Summer when I had to blog on Ning, I noticed that Zemanta wasn't available so I emailed and asked if there were plans. They had support for Ning available a few weeks later, and they emailed to tell let me know. Very cool.

I've gotten notes from a few people working on apps that I've discovered over the past few months. I wrote about Zemanta, above. There's also the emails I got from Pandora's team when I was searching for the band !!!...really, it's called !!! so you can see how this could cause problems. They were very interested when I told them I wrote a paper about their app. Lastly, one of the developers from Zon posted a comment to my somewhat lackluster review of his game. It just goes to show how badly developers want their applications to be useful for their intended audience, and how some of them are really starting to hit the mark.

Over the past year, I've worked on some very complicated projects. In the Fall, I finished up my distributed querying application and right now, I'm finishing up the epic saga that has been my artificial intelligence project. At this point, I can honestly say how deeply one can feel invested in a development project. Even though the projects that I do are just for a grade, I get so emotionally attached to them. I can only imagine the attachment felt by those who are involved in the apps that I've written about, and these apps are someone's livelihood. It's very inspiring to me to see people taking such risks and such care with what they do.

Cheers to ya!

Monday, June 30, 2008

Bookworm from Popcap Games

It's unbelievable just how happy Popcap Games makes me. I've blogged one or two of their games before, but I'm not sure I talked about just how much I like Popcap in general. Their games are so unabashedly casual. If I want to play one of their games, I pick one, read through rules that don't even take 30 seconds to learn and click play. They always work, they are always fun and there is never a gun or semi-naked girl in sight. Thanks PopCap!

Onto their game that I played this week:

Bookworm is a word game involving a grid of letters. You look at the grid and click on letters that make a word going in any direction. Once you've selected letters and hit the "submit" button to submit the word, the letters disappear, rearranging the grid. Words have to be at least 3 letters in length, and you score points based on how long the word is. My longest word was Foxtrot. Every so often, a flaming letter will appear. If you can't use that letter by the time it gets to the bottom of the screen, the game is over.

I enjoyed this game because I had to be creative with the words I was thinking of, but it was still easier than scrabble because you're not having to fit your words in with other words. It was also fun to be able to connect letters that were adjacent in any direction. Some words were letters I connected that were in a circle, others were backwards and some where diagonal.

There was no timer in this game. I enjoy games with times, it always gives a game more of an action element, but not having the timer in this game allowed me to really ponder the letters in the grid. This game not only stimulated my creativity but was also a nice game for de-stressing.

Sunday, June 29, 2008

Ayiti:The Cost of Life

This week, our assigned game was to pick anything from the website Games for Change. Games for change is a non-profit group that works towards the goal of creating "socially responsible games." Ok, I hear people groaning about "socially responsible"..."politically correct"..."WTF"..."Who's going to play that"...and so on.

Here's why these games are important and need to exist:
Remember playing Oregon Trail in grade school? Ok, maybe you don't, but I'm guessing that at some point in your K-12 experience you played some kind of game that was supposed to teach you something. These games about life in developing countries are a NECESSITY for teaching bored suburban kids about places in this world where you don't get three meals a day or Christmas presents or even antibiotics when you are sick. Games like this give us perspective on why someone would risk their life and travel to this country illegally in order to keep their family alive.

That said, this was a sobering game to play. The goal is to keep the parents of a family of 5 people alive through 4 years. You have to decide who goes to school, who stays home and who goes to work. There are certain obstacles for making choices such as the amount of money or education you have. If you want the mom to have a job as a secretary, she needs to have some education, but sending her to school means that there will be less money for food. There are hurricanes, and it's very easy for people to get sick. This game has very few happy endings, but shows the player the trade offs that must be made if you are trying to raise a family in Haiti.

I found the game strangely addicting. I so wanted to keep the children alive, and they died every time I played. Technically, I did win the game one time, but it was a hollow victory. Only the parents were alive and even they were in poor health. I knew that the game was going to be depressing, but what I wasn't expecting was just how much I would want the family to survive. This game, whether intentionally or not, does a terrific job of exploiting a player's hope that they will win.

If I were a social studies teacher or a history teacher, I would require students to play this game just to give them perspective. In my experience, kids will laugh and say something is really stupid, but in the end it does make a difference and they do learn the lesson whether they are willing to admit it or not.

Because of the nature of the game I've reviewed here, I'm including a few web-sites for charities that provide aid to developing countries:
The International Rescue Committee
Unicef
Friends of the World Food Program...had problems with the tag for this so here is the url: http://www.friendsofwfp.org

...

The World Ends With You for Nintendo DS

The World Ends With YouImage via Wikipedia

The World Ends with You is currently a very popular game on the Nintendo DS console. It is an action RPG, and its plot centers around the Japanese youth culture typified by the Shibuya District in Tokyo. The main character, Neku, is a headphones-wearing kid who inadvertantly finds himself playing "The Reapers Game." In this game, the player must stay alive for 7 days while performing different tasks. During each task, a countdown timer appears on Neku's hand. The tasks involve using powers that are tapped by wearing different types of pins. Neku also has a trusty sidekick in the form of Shiki. Shiki is a young girl who has also been sucked into the game.

This game is fascinating for me in its presentation of Japanese culture. I'm sure there are a lot of insider references that I didn't get, but despite that, it's always fun to try on a different culture especially in the context of a game. This is one of the reasons why I was so obsessed with Shenmui when it came out in the late 90's.

The game play was fairly easy. Since it's on the DS, there's no need to remember which button to press. The different powers are unleashed by using different types of strokes with the stylus. This is similar to drawing the different shapes in Okami. It also appeared that players could possibly control Shiki and Neku at the sametime on the different screens, but I didn't really explore this capability.

There was one problem with the gameplay that deserves mention. The game introduces how to use the different pins by having the player use them to fight some monsters. Unfortunately, The screen explaining how to use the pin appears simultaneously with the screen where you fight the monsters. This means you have take some hits while you are reading about how you are supposed to fight them. There should be some delay between the explanation of how to use the pin and the actual fighting. Maybe there's a pause button that I missed. This would easily fix the problem.

There was a lot of dialog in the game, but I was able to click through it at a fairly rapid pace. Dialog always seems to be a challenge in these games, and I don't see why. It's not like this is a movie. I'm not expecting "scenes." It all goes back to high school writing classes. (Notice that I didn't say "English" because good writing is the same no matter what the language.) Is the dialog moving the plot forward? If it's a game, the gameplay should move the plot forward. Otherwise, dialog is used to develop a character or a relationship between characters. There was a lot of bickering between Shiki and Neku that seemed redundant to me. As I said, I was able to click through fairly rapidly which I did because the dialog had very little substance to it.

On the whole, The World Ends With You is a very interesting and fun game with a great combination of Japanese culture and easy Nintendo DS gameplay. I can see myself playing this on Marta for the next couple of weeks. The promise of games like this is why I bought the DS when it first came out. The fact that you have to draw to win a game is so refreshing. This game and Okami are quite similar to me because of the way you play the game and that the game itself is so based in Japanese culture. The difference is in the parts of Japanese culture which are examined. These games, to me, are somewhat anthropological in the way they bring the world home to the player. The next game that I will review, Ayiti: The Cost of Life, also falls under this umbrella, but in a very different way.



Zemanta Pixie

Saturday, June 21, 2008

Alchemy

Sample screenshot from AlchemyImage via WikipediaAlchemy is a game made by Popcap Games, the same creator as one of my favorites, Bejeweled. It is a casual game that can be played online or can be downloaded for a fee. The game is played on a grid of squares and the goal is to turn all of the squares gold. Squares turn to gold when the player places a "rune" on a square. Runes are letters of the greek alphabet in a particular color. Runes must be place next to squares of either a similar shape or similar color. Points are scored when runes are placed on a board. When a column or row is completely filled, it disappears. This gives the player more space for placing runes. There are wildcard runes, and every now and then, a skull. The skulls must be placed on top of a rune and they destroy whichever rune they are placed on top of. If a rune will not fit anywhere, it can be discarded. A player can discard up to 4 runes. After that the game is lost.

This was a fun casual game to play. I enjoyed the fact that there was no clock involved and that the challenge in the game did not involve pushing arrow keys within a certain amount of times. Games with a visceral quality such as Alchemy hold my attention much longer than games where I must push sequences of buttons within a certain period of time.

Alchemy is similar to Bejeweled in that the player is working with pieces on a grid, and the player must recognize similar shapes. I like working with magical themes and with symbols like the greek Alphabet. I guess its sumbliminal programming from all of those Calculus classes. I was intrigued by the fact that the goal for winning the game was somewhat separated from winning points. I guess the points could be used if you were trying to compete against people. If that were the case, the winner would probably play for longer just so that they could earn points. Isn't that a twist.

I've been reading that these types of games are highly appealing to women and older players. It's not difficult to see why. This is the game you play for 15 minutes at work when it's 3:00 on Friday, and you just can't look at another line of code.

This is off-topic, but Popcap games is really taking a Web 2.0 approach to gaming. Games are offered on several platforms: pc, mac, online, offline, mobile. The games appear to be written in Flash. Finally, Popcap has its own freely available API allowing developers to make their own games. This last feature is a very smart move on their part, because players who are rabidly into their games and have some programming expertise will probably want to try their own hand at making a game.

I'm going to play around with their api and see if I can't make something "fun" with it. I've been having real trouble with Gamemaker, not because it isn't a good application, but because I think the types of games that can be made with gamemaker are so incredibly boring. I'll post a later update about whether or not I was able to use it. Since I have to create a game for a final project, I'm hoping that the Popcap framework will pan out.

Zemanta Pixie

Monday, June 16, 2008

Zon: A Chinese Learning Game

What a disappointment this game was. I’m going to China in a year or two, and will need to know some Chinese in order to navigate myself. For this reason, I have a vested interest in learning Chinese and was very excited about this assignment. It looks like the game is partly research project, partly community service and partly game class assignment. I noticed that it is distributed by a University. Let me just take this opportunity to say, IT SHOWS. Some pieces of the game are really cool and other pieces are amazingly bad. Through it all, there’s no real sense of a goal that the player is trying to accomplish or how the player can move on to the next level.

I never got a really great sense of how to use the learning features of the game, and actually found myself wishing I was back at Runescape. At least Runescape made sure players knew how to accomplish the tasks in the game. I was able to listen to a dialog in Zon, but it went really quickly, and I was unable to get at the individual words or phrases that were being used.

There was an arcade game segment of Zon that seemed really promising, but the games were really hard to understand. These seemed like they were part of a class project with some games more polished than others.

When Chris saw that I was playing a game about learning Chinese he too was very, very interested, but lost interested when he saw me trying to play.

The makers of Zon should have started out with something much more simple than a baggage claim area. In fact, if they had just stuck to the arcade games and made them really good arcade games, I would keep playing them outside of our class. As it is, I might look for another game to learn Chinese.

Mario Kart for Nintendo Wii

Mario Kart is a racing game involving many of the characters from previous Mario games. I was playing in team mode with Chris. Players can choose from many different tracks that are categorized by competition. We raced on several of the tracks including Shy Guy Beach, Peach Beach, and WaLuigi Stadium.

Since neither Chris nor myself had played this game before, we consistently found ourselves in last place, but the game was amusing nonetheless. On each track there are cubes hovering above the track. The cubes can contain a power up or, alternatively, an obstacle. Some of the boxes are marked with what they contain, and others are marked with a question mark.

There were also different types of monsters on each of the tracks. Peach Beach had these giant crabs that can see players coming and will move towards them. Another track had Ghosts hovering above the racers.

The track that was the most fun for me was the WaLuigi Stadium. The track had lots of curves and dips with opportunities for jumps. This meant that even if I was going slow, it was still exciting. It’s also lots of fun to bump the other players, and it seems to slow people down when you collide with them.

The graphics in the game are very impressive as is the fact that even the machine generated players make mistakes. The machine generated player is no longer perfect at the game. This makes it more fun for a casual gamer such as myself, because it makes the competition a bit more fair. Another difference between this game and the other few games that I’ve played is that there are some objects in the game with which players are supposed to collide.

Mario Kart was very easy to pick up play without any real training. After all the stories that I’ve clicked through recently for Nintendo games, this was very refreshing. Racing games are fairly obvious anyway…steer and accelerate the car. The game came with a steering wheel that is supposed to be used with the WiiMote sitting inside. The wheel is easy to use, but made it more difficult to choose the character I wanted to play or point at anything else with the WiiMote.

I would recommend this game to other people to play. It was easy to have fun, and no trouble at all to learn. When a seasoned player and a casual gamer can play a game together, and enjoy it, it speaks to the game’s universal appeal.

Sunday, June 8, 2008

Senior Games: A New Genre

One of the most underserved markets in gaming is senior citizens. I predict that over the next 10 years, as the baby boomers start to retire and are looking for ways to fill up their free time, they will start playing more video games. Let's face it, those of us taking this class will probably be playing games when we hit the retirement home.

What types of games will the seniors of the next 10 years want to play? I predict that games successfully penetrating the seniors market will require wisdom and the unique historical perspective that we all accumulate over time. What if you could recreate your own memories in a virtual environment? Yeah, I mean a holodeck, but not as a physical recreation, I mean as something on your computer. If we could recreate shared memories, this would allow for social networks where people create shared memories of events like baseball games or parties or even shared memories of other people like my sixth grade math teach...um...maybe someone else. This genre will also include games that recreate parts of daily life in which seniors can no longer participate in their real lives, such as cooking or gardening.

The user interface required for these types of games will have to be completely different from the interfaces we have today. Seniors do not have good reflexes or agility of movement. Even the WiiMote will be troublesome for seniors who are somewhat frail. When I think of the type of interface that will be useful for seniors, I think of devices such as the "Jitterbug" cell phone or even the "clapper."

I feel that this is a stand alone genre because of what I have observed when I have visited my grandmother in her nursing home. I see lots of men and women doing whatever they can to keep themselves amused. If games could be designed to give them back some of their favorite experiences, maybe there would there would be fewer seniors suffering from depression.

This genre may not be "trendy" but will make a lot of money for anyone developing these games. I hope that when I am older something like this exists. We will all be in the market for this at some point.

Blues Brothers

As an example of an older platform game, I decided to try one from the list of old Nintendo games that are available on the link provided by Dr. K.

Blues Brothers is a platform title from 1991. It has little Jake and little Elwood running around with all of the kitschy tunes from the movie rendered into synth tunes. This was not an easy game to play. The character does not jump high enough to make it onto the next level of platforms. Chris tried it and was also unsuccessful.

Ratchet & Clank

Since we're learning about platform games this week in my class, I asked Chris if he had a modern version of a platform game. His answer was Ratchet & Clank, another of my favorites to watch being played. This time, I was in the driver's seat which gave me a new perspective.

Ratchet and Clank takes place in an alternate universe that is about to be taken over. Ratchet is the Han-Solo type mechanic/pilot and Clank is a tiny robot who can help power the ships. They are trying to

After clicking through so much dialog in Okami and Trace Memory. It was refreshing to watch the story unfold. Ratchet and Clank has movie scenes in between game levels which seemed to move more quickly. I also started playing more quickly, although it was more difficult to figure out how to make the required moves.

Once I had the moves memorized, the game was pretty fun. Ratchet uses various different weapons to dispatch the enemy. The weapons get larger and more ridiculous as the levels advance. I seem to remember some kind of gun that turns anything it shoots into chickens.

Ratchet and Clank, as a platform game, is so much more interesting to me than Donkey Kong ever was. I know that Donkey Kong was the first widely played platform game, and I remember how obsessed my cousins were with this game. Donkey Kong just never appealed to me. Maybe it was the story, because I always wondered what a plumber, a princess and a gorilla could possibly have in common. Ratchet and Clank has an interesting story, and at least in the beginning, the climbing up and climbing down is de-emphasized. Being a 3d game completely changes the platform genre. In fact, it makes me really wonder just how viable "platform" still is as a genre. The whole premise of a platform game is based on the fact that you are sticking to a certain axis of movement for gameplay, but having a game in a 3d environment implies that restrictions on an axis of movement are no longer applicable.

Wednesday, June 4, 2008

Okami

The cover art for ÅŒkamiImage via Wikipedia

There are a few games that have mesmerized me as I have watched my husband play them. He played Okami on the PS3, and I loved watching it. All of the art is based on ink brush painting and in order to progress through the game you have to draw shapes that translate to actions.

Okami is an action-adventure based game. The user plays the character of the wolf trying to rid the world of evil. Wikipedia says that action-adventure games are the broadest genre of computer game. This genre originated from the game Adventure.

Okami has been ported to the Wii, so I gave it a try. Most of the 1st hour that I played was spent on the back story and some training. I think I complained about this when I was playing trace memory, but I hate clicking through stories. I would rather read a comic book or scroll through a couple of paragraphs. I've been told that there is a lot of clicking through dialog in Okami...boooring!!

The drawing is more challenging than I thought it would be, but it is an interesting way to play a game. Okami's reliance on the Wii's Nunchuk betrays it's previous life as a PS2 game. The only real use the game makes of the WiiMote is for the drawing, but that's enough for me. Hopefully when the "3 games a week" phase of my life is over, I can come back to Okami.

And now for a word from Marlena's Soapbox:
What is it about video games and boobs???? I was really enjoying the beginning to Okami when they introduce this goddess. I have never EVER seen a classial depiction of a Japanese lady without her being very modestly dressed. This particular goddess had the most bizarre cleavage I've ever seen...ok, fine. I know that in the world of video games, all women are supposed to be an F cup size, but the real killer here is that she shakes the wolf's companion OUT OF HER BOOBS. WTF^2! This type of thing is SO TIRING to me, and was particularly out of place at this moment, and especially in this game.
Zemanta Pixie

Sunday, June 1, 2008

Runescape

Runescape is an online game accessed through a browser. The first time I tried to log in, I had problems with the username I had created. Username number 2 worked, and I got in. Runescape has, what I consider, an excessive amount of training. The training was easy to follow, but there was too much of it. I trained for half an hour, and didn't even get halfway through their training.

I'm sure this game is fun once you get through the training, but I never have enough time to play any game for more than 30 to 45 minutes. It looked like this is one of those social games where you get to talk with other people which is also a turn off for me. I don't like talking with people online for any reason. I network a lot where I work, and when I start playing a game, having to rely on talking to other people makes me think, "great" (roll eyes) "more networking."

Zork was more fun because I got to start playing immediately and actually made some progress in the game. Maybe Runescape would be more appealing if the training was made into a quest.

Saturday, May 31, 2008

Wii Fit

Wii FitImage via WikipediaLet's face it, most nerds have self-image "challenges." This is why we live online. Online, there is no acne, no bad hair and everyone is whatever size they want to be. Enter the WiiFit.

The Nintendo Wii allows you to make a "Mii" which is Nintendo's version of an avatar. The first step in the WiiFit setup process is a body test. It takes your weight and you add in your height. WiiFit then gives you a BMI.

I am a chunky girl, but my Mii isn't. When WiiFit calculated my BMI, my Mii automatically and instantly gained epic proportions of weight. For the first time ever, I was faced online with the reality of my life, and oh how it sucked!!!!!! BMI is already a flawed measurement, in my eyes, because it does not account for muscle. I have read that according to his BMI, Arnold Schwarzenegger is morbidly obese because of the muscle that he carries. This means that when Ahnold's Mii has its BMI calculated, he too will balloon out like a Sta-Puft Marshmallow Man...I'm just sayin!!!

Mii horrors aside, WiiFit is a lot of game-playing bang for the buck. There are so many little games packed into WiiFit, that it will take hours just to get to them all. The game-lets are broken out into categories: strength, balance, aerobic and yoga. You get to pick a male or female trainer who leads the yoga and strength exercises. The balance and aerobic sections are the game-y parts of WiiFit.

A couple of the game-lets that I played were soccer and hula hoop. Soccer is in the balance section. You stand on the "fat mat" and shift your balance to either side. You aim for the soccer ball coming at your head or avoid the shoe or panda bear that is coming at your head.

The Hula Hoop game is in the aerobics section. You swing your hips around while you keep the hula hoops spinning. Other Miis throw hula hoops at you. You have to shift your balance to catch them while you keep swinging your hips around. If it weren't for the WiiFit game, I would NEVER hula hoop, and I can only imagine just how funny I look playing this, but it's fun!

Even though I'm still traumatized from watching my Mii balloon in front of my eyes, WiiFit is a fun and groundbreaking game. The fact that my mother, who is in her 60's, wants a Nintendo Wii so she can play WiiFit shows how Nintendo is taking advantage of a market other games makers have chosen to simply ignore.

Trace Memory for Nintendo DS

Creepy mysteries always make me happy. This is the appeal, for me, of the game Trace Memory. It was designed for the Nintendo DS system to take advantage of the DS touchpad, and is story based. The main character is 14-year-old Ashley Mizuki Robbins who is searching for her father on Blood Edward Island. Obviously, the game is designed to appeal to the Nancy Drew set. Ashley is blond like Nancy Drew and an inquisitive teenager like Nancy Drew.

Giving the game a story-explore-puzzle format was a good choice. Not everything is a pixel hunt. I get the idea that the makers of this game made it fairly easy on purpose. In this game, you see an object that you will need later and the game pretty much hands it to you. When you get to the stage where you need the object, the dialog says, "hey I have this object let's use it."

Exploring the environment with the touch screen is pretty cool. It is so much easier than having to thumb about with a controller that's too big for my hands(HELLO SONY PLAYSTATION). I'm pretty surprised at how good the graphics are in this game, given that I'm playing it on a DS. Since I go for visually appealing in a big way, this keeps me interested in exploring.

The puzzles are a little on the simple side for me, but if I were 14 and had just started playing games, I would really appreciate the simplicity. If the game had a few more puzzles, they could probably increase in complexity so that a new player would be able to figure out the more complicated puzzles after having played the simple ones earlier in the game. The puzzles that I've played so far are moving a rock and brushing away rust on an old plaque. As I said, they are very simple. I'm hoping as I progress there will be something more challenging.

What I really don't like about this game is the way the game handles dialog. Simply put, it's annoying. A character will say a sentence, and I have to tap the touchscreen to advance the dialog. Repetitively tapping the screen to get the character's next line is not very exciting especially when the dialog is lengthy enough to fill pages in a book. I also noted that there are 3 different ways dialog happens between characters. That's too much, and there was no obvious reason why there should be 3 different ways for characters to talk too each other. I'm guessing there were 3 different programmers for different sets of dialog who each decided that their dialog interface was best.

Overall, Trace Memory is an enjoyable game. I like the way the gameplay takes advantage of the DS touch screen. The story and the environment both keep me interested. I can definitely tell that it was meant for someone younger. Hopefully since the Studios are starting to realize that girls and women play games too, I will see some titles that are similar Trace Memory but incorporate more difficult puzzles and a more mature plot.



Tuesday, May 27, 2008

Patapon

PataponImage via WikipediaMy husband showed me a very interesting game called "Patapon" on his PSP. The game is based on the ancient method of using drumbeats to herd warriors in battle. You are the Goddess of the Patapons and must provide drumbeats that will guide them to victory. Does that sound really lame?? I thought so too until my husband showed me the game. Aside from the game play, I love the graphics of this game. It is a 2d game, but this is complementary to the shadowpuppet style of the game's characters and sets. Everything is viewed in profile as if in an Egyptian painting.

To play the game, the user must drum out different beats using the four PSP buttons. I watched my husband doing this thinking,"hmmm...looks like a pre-schooler could do it." Well, not really. The drum beats are guiding the Patapons. That means that you have to have the right drum beat to get them to move forwards, to attack or to defend. Not only do you have to use the right drum beat, but you have to do it with rhythm.

It's pretty challenging to make judgments about the next action to take while trying to stay on the beat with the right song. The musical element of this game was very enjoyable and challenging. A warning: if you have a dog, this game may make your dog crazy.

Monday, May 26, 2008

Zork1

lost youthImage by vnoel via FlickrPlaying Zork highlighted to me just how much computer games have evolved and how much the way I play games has evolved. When I was very, very young, my dad showed me how to play another text based game called Adventure. Even though I was a child and my dad had to help me play(keyboard? what's a keyboard?), I was able to remember enough to form a comparison between how I used to play this type of game, and how I play the game now.

I remember my overall obstacle to success in Adventure was vocabulary. Although I now know many more words, verbs in particular, that didn't necessarily help me play Zork. The syntax required is fairly strict for these games, and there is no obvious help. I still struggled with finding the right to way to go upstairs in the house or to take the water bottle from the table.

Making it into the house was easy enough. Once I was in the house, I managed to get myself killed by a grue fairly quickly by traipsing upstairs without a light. Although the game allowed me a 2nd chance at life, it dumped me someplace I didn't recognize. At this point, I used ctrl-c and restarted the game. The purpose of the house is obviously to supply the user with some needed artifacts. I ended up taking a bottle of water, bag of peppers, elvish sword, "nasty" knife and most importantly, rope and a lantern.

After acquiring these items, I began my futile attempt to tie the rope to something. My thinking was that if I tied the rope to something, I could throw the rope down the chimney and climb down. I tried to tie that rope to anything and everything in the house. When I couldn't tie the rope to anything in the house, I jumped out the window and went to a tree. When I typed in the command for tying the rope, the program said to me, "you can't tie rope to that." This constitutes game failure for me, because I am a caver, and I've tied ropes to trees, descended and ascended plenty of times. Whatever...

I noticed that I played this game much differently than I did as a child. The first thing I did even before I started playing the game was to print out the few commands listed in the readme file. I knew that this would not be the "end all, be all" list of commands, but would get me started. Once I started the game, I began drawing a map which was very helpful for going back and forth. I'm so used to having access to maps in games that I play. As a child, I would never have started by looking for commands to use or drawing a map. It was all about guessing.

Zork was an ok game for 30 minutes, but I would probably need to find a few more commands if I intended to play it any longer. The lack of graphics didn't bother me as much as the lack of help. For instance, I got a description of the kitchen the first time I entered it, but there was no obvious way to see the description again once it had scrolled upwards. It seemed to me that this was intended to be part of the game play. It's really amazing what I've come to expect from the games that I play.


Wednesday, May 21, 2008

Boom Blox

When Steven Spielberg was shown the Nintendo Wii, he immediately felt the urge to create a game that would exploit the Wii's interactive capabilities. He found a collaberative partner in Electronic Arts, and the result is Boom Blox.

The basic concept is very simple. You are presented with a pile of blocks. The goal is to knock them down. Since this is a Wii game, knocking down blocks is accomplished by hitting the air as hard as you can with the Wii-mote in hand. It's as if the blocks are saying "I want you to hit me as hard as you can."(Fight Club fans may wish to use the penguin avatar.) This brings up the greatest aspect, for me of this game. The game has cute little characters, which I enjoy, and they crack me up because they seem to serve as a cover up for the fact that this game is all about venting aggression.

There is no one way to hit these blocks. I can jab, punch or slap them. I can even give them a back-handed slap, and the noise they make when you hit then is as satisfying as the sound of popping bubbles in bubble wrap. The makers of the game really did their physics homework because when I make all these crazy hits, the blocks react appropriately to the direction of the force.

Boom Blox has several modes of play and different sets which is pleasing to me because it means that play doesn't have to start where you left off last time. There is a multi-player option and players can play either competitively or cooperatively.

As you play through all of these options, the game unlocks different pieces that can be used in there "create a level" section of the game. Create a level is pretty easy. Players can choose the type and placement of blocks and the characters on the screen.

Boom Blox is one of the reasons why I respect Steven Spielberg. There are absolutely no references to any of his movies in this game. It's just a great game that is easy to figure out but very satisfying to play.


Video Game Class

I just finished the Spring Semester and started Summer. Since my video games teacher wants me to blog about games that I play, my content will be broadening.

As I'm taking the video games class, I'm also working on a project for my Spring Artificial Intelligence class. It's a project that I originally found in Toby Segaran's book, Programming Collective Intelligence. I'm writing a naive Bayseian Filter. It's original intention is for spam, but I want to try and use it for some other things as well.

Tuesday, April 29, 2008

Collective intelligenceImage via WikipediaAfter my blog post last month, I thought to myself, "Girl! It is SO time to move on. Enough with the 2.0 stuff." With that, it was on to Semantic Web concepts. YouTube has been the most helpful as some of the W3C "tutorials" are, well, a little dry. (Not all of them just some of them.)

Here is a list of some of the videos I really enjoyed:
Tim Berners Lee on the Semantic Web
An Introduction to the Semantic Web
RDFa Basics
Google Tech Talks: Semantic Web

After my head stopped hurting from the first 20 minutes of the Google Tech Talk, I found this article which further explains RDFa.


In his video on Semantic Web (which is his concept) Tim Berners Lee describes what I perceive as being the core of Semantic Web technology. The Semantic Web is a method of knowledge representation coupled with the collective intelligence that seems to be reaching some level of maturity in web applications.

That may seem like a fairly small statement, but there is really a lot going on that makes this possible.

1. Advances in hardware have taken us from Pentium III to Quad core in just a few years. Processing the larger amounts of data with the complex structure of collective intelligence is no longer limited by hardware.
2. Cloud computing allows more developers to focus on collective intelligence problems. There's really no need to spend a day futzing around with server/network crap anymore, unless it's just something that turns you on (and that's ok.)
3. There are enough CS students who see the value in going on to grad studies due to a globalized market for developers.
4. Web technology is finally past the hump of, "gee, look at my cool home page with the spinning

All of these factors are combining to take internet applications past the document.

I could go on, but this blog is starting to get lengthy.

For this blog, I've started using Zemanta. It's a Firefox plugin that makes suggestions for whatever it is that you are writing about. It's showing pictures and links to articles. It's also suggesting tags for this post. I think the content is from creative commons. That's how they get around copyright. The picture I've posted is from Zemanta, but the links are ones that I pulled from previous wanderings.

I realy like the feature that links phrases in the post to wikipedia.



Friday, April 4, 2008

Previously, I wrote about one of my favorite web 2.0 apps, Pandora.

After I wrote that post, I read through a chapter in my new favorite book Programming Collective Intelligence by Toby Segaran.. The chapter was about searching and ranking using a neural net. It greatly reminded me of Pandora. The user inputs the name of an Artist or a song. Each artist/song are entries in Pandora's Music Genome Project which associates each artist/song with different musical characteristics. Pandora will initially suggest music based on these characteristics. That seems like straight-up database to me...bfd. What's interesting is that once the music starts playing, the user has the option to give each song a "thumbs-up" or "thumbs-down." That's training! For most of the semester, I assumed that Pandora must be using a neural network for this training. Then today, I start reading the chapter in Programming Collective Intelligence on filtering documents. There are other ways to train that are not as computationally expensive. This really leaves me to wonder. Aside from pondering the ways in which Pandora is suggesting tunes, I'm very curious about how one would unit test and system test these types of things.

It's been so easy to stick with Web 2.0 concepts this semester. The information I've found about the Semantic Web has been fairly sparse. From what I can tell, it's all about filtering from an extremely wide net. For example,a few days ago, I found out about Zemanta It's a semantic application that suggests content for blogs. The user types along and while they are writing their blog, Zemanta suggests content for the user. The technologies I've looked at for the Semantic web seem to revolve around markup and data representation.

T

Saturday, February 2, 2008

Web 2.0 List, Pandora

This week my assignment is to pick a web 2.0 application and write about what it does and how it works. At first I thought, "I'll just make a big list." But in true internet fashion, I found a really big list made by someone else.

It's a fairly extensive list with categories. There's always the caveat that this is someone else's idea of what constitutes a web 2.0 app, but I saw plenty of regulars on it (facebook, livejournal, etc.)

Pandora is one of my favorites and jumped out at me immediately. I don't get to listen to Pandora very often because it's blocked at work, but I'm always on the lookout for new tunes. It looks like Pandora is now available on mobile phones if you have AT&T or Sprint. I have AT&T so this could be good.

I started playing around with the recommendations Pandora makes and noticed that if I give it Britney Spears, it comes back with "The Teddybears." The Teddybears are a Swedish group from the early 90's who wear giant stuffed bear heads when they perform. I was too busy laughing to notice whether or not the music is at all similar. Perhaps Pandora doesn't quite have recommendations squared away.

After giving Pandora about a week, I eventually found a bug. When I tried to create a station for the band !!! (yes, that's really their name, pronounced chk chk chk) I kept getting gospel tunes. Even though I haven't heard that many of their songs, I could tell that this was not right so I emailed their support. Pandora can't handle a query string made up of punctuation marks.

Esoteric band names aside, Pandora works pretty well. Their help file explains a lot about their technology and how to use the web site. It looks like they start with a basic database query, but also generate metrics about a song based on how many other users liked and whether they thought it fit with the station.

Interestingly, creating a station based on a song is more likely to yield songs with the same type of sound than creating a station based on an artist. I guess that's because an artist can have many phases in their career.

There are other Web 2.0 social music apps. This article from Techcrunch talks about them.

Saturday, January 19, 2008

Defining Web 2.0

Blogging from Miami....YES!!!!!!


My first task is to write a paper all about Web 2.0 as a statement about where we are now. I will definately be moving on to Web 3.0 stuff later, but it's always good to have some perspective and context.

Here is what Wikipedia has to say about Web 2.0 at this very moment on Miami's miracle mile.

This article talks about who is involved: social-networking, wikis, folksonomies

What they are gaining: creativity, collaboration and sharing between users

Since I've never heard the world "folksonomy" before, I searched for that, and saw that it's been suggested the article for "folksonomy" be merged with "collaborative tagging." My best shot at describing whatever "folksonomy" is supposed to be is perhaps as a cloud of people tagging the things they like at different sites on the internet and thereby creating their own cyber-communities through these tags and posts that have something in common. No buzzword here...no, not at all.

Wikipedia also talks about where the term "Web 2.0" came from. Wikipedia says that the term Web 2.0 "gained currency" at the O'Reilly Media Web 2.0 conference in 2004. So I guess it was around before that but nobody really bothered with it. Hmmm....and it looks like Tim O'Reilly wrote a paper to enlighten us all.

The next paragraph talks about how W3C heavy weight Tim Berners-Lee has "questioned whether one can use the term in a meaningful way, since many of the technology components of "Web 2.0 have existed since the early days of the Web."

Well, at this point it doesn't really matter how appropriate or inappropriate the term is because people use it and know what the term is referring to anyway.

Hey! That reminds me, it's time to check my MySpace page...IN MIAMI. Did I forget to mention that I'm very comfortable in my shorts????? My mom said it was snowing in Atlanta today.

Next up...A big fat list of Web 2.0 technologies and an examination of "The Year of the Tag."

Cheers...FROM MIAMi.

Wednesday, January 16, 2008

Introduction

This blog currently provides a record of my readings, thoughts and conclusions for a course-elective independant study I'm completing towards a Masters in Software Engineering. The title of my study is "Semantic Web Concepts and Software Engineering."

My goal for this independant study is to not only obtain an understanding of where Web 2.0 is going in terms of technologies, tools and ideas but to apply that understanding to the field of Software Engineering. I'm simultaneously taking a course in Artificial Intelligence, so I'm anticipating some really great overlap with Web 2.0 and Semantic Web concepts.

Since this is not a structured class with a syllabus that's written in stone, I'll be adding resources as I go along. It's amazing to me how even the resources for a class have changed. Instead of reserved readings and lectures, I'll probably be relying heavily on YouTube lectures from various conferences, Wikipedia, and maybe some blogs.

I'm starting with a more traditional resource, a book called, Programming Collective Intelligence by Toby Segaran

Here is the author's blog

In order to understand where Web 2.0 is going, I will first look at what constitutes the concept of Web 2.0. What are the apps, what do they do, why are they different? How is this a different experience from Web 1.0?

This is a really great video I found on YouTube. It was the opener for the Web 2.0 conference.