March 2006 Archives

Grandma Salsbury's Recipe for Spanish Rice

| No Comments | No TrackBacks

Ingredients:

3 slices raw bacon
1/2 cup raw wild rice
1/2 cup raw brown rice
1/2 cup chopped onion
1 clove garlic finely chopped
1/2 cup chopped green pepper
1 Tablespoon butter or margarine
1 28-ounce can whole tomatoes
1 teaspoon salt
1/8 teaspoon pepper
1 1/2 cups water
1/4 cup sliced stuffed olives

Cook bacon in large skillet over moderately high heat until lightly browned. Remove bacon and crumble coarsely.

Add all rice to bacon fat; cook over moderate heat 10 minutes, or until lightly brown, stirring frequently. Add onion, garlic, green pepper, and butter; cook until vegetables are tender.  Add tomatoes, crumbled bacon, salt, pepper, and 1/2 cup of the water. Cover and simmer over low heat 25 minutes, stirring occasionally. Pour rice mixture into a greased 1 1/2 -quart casserole and stir in remaining 1 cup of water. Heat oven to 375 degrees. Bake casserole 30 minutes; fold in olives. Bake 15 minutes longer.

Serves 6.

Acid Reflux (GERD) and Me

| No Comments | No TrackBacks

I was diagnosed with Acid Reflux disease (also known as GERD or Gastroesophageal Reflux Disease) several years ago.   I wasn't surprised when the doctor made the diagnosis. My mother suffers from it, and I suspect that whether he knew it or not, my late grandfather did as well. So, what follows here is my knowledge and experience as a sufferer of Acid Reflux syndrome.   It should not be construed as medical advice or treatment guidelines. For that, you should seek the advice and services of a qualified medical professional.

What is Acid Reflux?

If you've ever had a "burp" that brought a little something to the back of your throat, that was most likely acid reflux, where some of your stomach contents were sent back up your esophagus and into the back of your throat. It's unpleasant to say that least, but it's much more than that.

SETI Needs Your Support!

| No Comments | No TrackBacks

You may be familiar with the Search for Extraterrestrial Intelligence (SETI) project which is attempting to find radio signal evidence of other intelligent life in the universe. One of the most important aspects of SETI's work is its SETI@home project, which allows personal computer users to donate unused computer time to the project. By installing software on your computer, you enable SETI to send it signal-processing work that is critical to SETI's mission. When your computer finishes processing a set of signals, it transmits the completed work back to the servers at the SETI project's headquarters.

SETI is operated and supported by Sir Arthur C. Clarke (author of 2001:  A Space Odyssey and many other books). It is run as a project of the University of California at Berkeley. The project previously got much of its funding from the private sector, mostly from companies who believed in its mission and got a bit of marketing leverage from supporting it. Many of the companies that were SETI's big supporters have, unfortunately, stopped sponsoring the project's work. It's very much in danger of having its plug pulled by UC  Berkeley.   To prevent that from happening, SETI  needs your help and support.

To donate to the SETI@home project, visit the UC  Berkeley donation site at this address:

https://colt.berkeley.edu/urelgift/seti.html

You can donate by credit card and the minimum donation is only $25, something most of us can afford.   The above address provides a secure method for donating by credit card.

Even if you don't believe in the work SETI is doing and you think that searching for life elsewhere in the universe is silly, you might want to consider donating to the Berkeley Open Infrastructure for Network Computing (or "BOINC"). This project (which was initiated by the SETI@home effort), in addition to assisting with SETI@home's data processing needs, also supports a variety of other distributed computing projects that are attempting to answer important scientific questions and find cures for various diseases.

In the last installment of this series, we looked at how you gain access to the HTML code of a web page using the Visual Basic 6 WebBrowser object.   That's a good first step toward doing something a bit more interesting, which is completing a web form using the VB6 WebBrowser object.

Last time around we wrote a simple program that took a look at my home page and showed you the HTML. Now, we're going to use the information we learned there to figure out how to automatically search my site for anything mentioning Visual Basic.

The first step is to identify the form used on my site for the search function. As it turns out, the search form on my site is contained in the following code:

<FORM action=index.php
method=post>
<DIV class=searchblock
id=searchblock>Enter Keywords: <INPUT class=inputbox
onblur="if(this.value=='') this.value='search...';"
style="WIDTH: 128px" onfocus="if(this.value=='search...')
this.value='';" size=15 value=search... name=searchword>
<INPUT type=hidden value=search name=option
<DIV
align=left><INPUT class=button style="WIDTH: 35px"
type=submit value=GO> </DIV></DIV> </FORM>

Since this is the first form in this particular web document, we should be able to access it as "Forms(0)" through the WebBrowser.Document object's "Forms()" collection. (If it had been the second form to appear on the page, we'd use "Forms(1)", etc.)   To see if this is the case, we add the following code to the WebBrowser1_DocumentComplete event to read as follows:

Private Sub
WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As
Variant)
 If URL <> txtURL.Text Then Exit Sub 
If pDisp <> WebBrowser1.Object Then Exit Sub
txtHTMLDisplay.Text = WebBrowser1.Document.Body.innerhtml
txtURL.Text = WebBrowser1.LocationURL
WebBrowser1.Document.Forms(0).Item(0).Value = "Visual Basic"
End Sub

XBox The Godfather Game Case - Reviewed Here So I was playing "The Godfather" last night on my friend's xBox. Besides the fact that the xBox controller is the most evil and insidious invention on the planet, the controls were pretty straightforward and easy to use (but they're better on a PS2 controller, I'm sure). To start off with, the beginning cinematography is absolutely outstanding! Graphics, story, voice acting, all the elements needed for a great game are present right from the very start.

The story starts off with (extremely minor spoiler) a brief tutourial that ends with a man being gunned down in front of his young kid. Guess who that kid grows up to be? That's right, he's our main character and I'll bet he'll want a little taste of revenge before it's over.

To begin with, the world is HUGE, looking like something that came directly from Grand Theft Auto. Starting off you'll create your own character from menus that look very reminescent of Tiger Woods golf. I didn't mess with this too much and just hit "randomize" to continue on (God was he ugly lookin')....but character creation is very in-depth and looks like it could take quite a while to perfect.

Stubbs the Zombie Infinite Life and Ammo Cheats (PC)

| No Comments | No TrackBacks


Earlier this year I reviewed the EXCELLENT game "Stubbs the Zombie in Rebel Without a Pulse" by Aspyr. In the review I mentioned that there are some areas I found really difficult to beat without using cheat codes, but I never told you what those cheat codes were or how to use them.

Cheating with Stubbs is pretty easy. First, open the Notepad program on your system and create a new document containing only two lines:

cheat_deathless_player 1
cheat_infinite_ammo 1

Save this file with the name "init.txt" (the exact file name is critical). Move the file into the directory on your PC where Stubbs is installed. If you're in the right directory, you'll find "stubbs.exe" there. The next time you launch the game the cheats will be installed.

When you play with cheats enabled, it won't look like they're working at first. You'll only know they're working when you don't die after losing all your health.

NOTE: When I last played the game, having the "deathless_player" cheat on prevented me from being able to complete the "poison the water supply" task. The game locked up instead of moving on to the next cut-scene. You will need to save the game before starting that part, then move the "init.txt" file away from the "stubbs.exe" program, and start the game again without cheats to get past that area.

Bill Cosby Shuts Down House of Cosbys... Sad!

| No Comments | No TrackBacks
One of my fondest memories from childhood is listening to the vinyl LPs of Bill Cosby comedy albums.  His various bits about Noah and the Ark, sharing a bed with his brother, football players doing shaving commercials, etc., all cracked me up.  I used to memorize them and tell them to the kids at school, getting all kinds of laughs from them.  In the 80s, I was happy to see Mr. Cosby getting the success he deserved with his sitcom and live performances.  He was able to deliver humor without the use of racism, 4-letter words, or gratuitous discussion of sexual intercourse and/or bodily functions.

It seems, though, that Mr. Cosby has lost his sense of humor.  I'll offer as my first evidence that atrocity of a movie "Leonard Part 6" where... well... I don't have a clue what was going on in that movie.  All I know is that it sucked.  Big time.  "Ghost Dad" was no better.

Review: Raising Cane's Restaurant

| No Comments | No TrackBacks

The McDonald's on Olentangy River Road (near the intersection with Ackerman) near my workplace recently built a new location just a few yards away from their original spot.  Shortly after the old building was demolished, a new one began to be built.  That building became home to a restaurant named "Raising Cane's".  Today for lunch I decided to try it out, since I was excited to see a new eating choice so near work.

Raising Cane's specializes in chicken fingers.  In fact, it's the only thing they serve.  No fish sticks, no burgers, no sausage, no ham.  Nothing but chicken fingers.  Their advertising claims that theirs are the best chicken fingers available - period.  The rest of the pitch talks about how they are hand-breaded and fried up only after you order them.  The meat is supposedly marinated for 12 hours before cooking, the batter and flour are specially seasoned, etc. From what I've read elsewhere, it's apparently a popular chain in the southern US.

I ordered their "Box Lunch #1" which consisted of 4 chicken fingers, fries, texas toast, cole slaw, and a drink for $5.99.  The chicken fingers I received were approximately 6 inches long and about the diameter of a "C" battery including the batter.  The strips were fully cooked.  The breading is relatively thin and has a very delicate texture to it, with a deep brown color.  They definitely look hand-made, since the breading isn't uniformly applied to the chicken.

From the first bite, I was simply not impressed.  The breading had no discernable flavor.  The meat  (arguably as it should) tasted like ordinary chicken.  I tasted no evidence of the specially seasoned flour or the marinated chicken.  In fact, these strips had far less flavor than those produced by Wendy's, BW3, or KFC.

The dipping sauce that the restaurant is very proud of is also nothing special.  It tastes approximately like Thousand Island salad dressing with a liberal sprinkling of cajun spices in it.  You'll find that you do end up dipping the chicken in it quite a bit, though, because that at least gives it some flavor.

Raising Cane's is also proud of their fries, which they claim are cut from the finest potatoes.  That's as may be, but they still look and taste like typical "crinkle cut" Ore-Ida fries you can buy in a huge bag at Kroger for a couple of bucks.  Mine didn't have enough salt on them to suit me, and tasted no better than what you'd get if you followed the directions on a bag of Ore-Ida's and tossed them in the oven.  The fries at McDonald's next door are much better, and I don't really like McDonald's.

Next, we come to the cole slaw.  This, at least, was good.  But then again, it's hard to get cole slaw wrong.  Chop up some cabbage and stir in cole slaw dressing and you've pretty much got it.  The portion of cole slaw was disappointing.  Most places provide ketchup for your french fries in containers that size.  I think I got about 4-5 fork fulls out of it.  I suppose that considering the government's concern that restaurant portion sizes are causing expanding waistlines in our country, small portions might be a socially responsible thing to provide.  Still, it left me wanting more.

Last is the texas toast.  My piece looked like a hot dog bun that had been sprayed lightly with garlic butter and slapped onto a grill to brown.  There was a subtle but distinct garlic butter flavor to it.  My brother (who was with me and had eaten here once before), on the other hand, says it may be the best texas toast he's ever had.  After tearing off a couple of bites to try, I ended up giving him the rest of it.  It did nothing for me.  He gobbled it up.  So the texas toast was a hit with one of us.

The store at this location is very clean and decently lit.  It's reasonably easy to get in and out of the place even at lunch hour.  It's in a shopping center with lots of parking.  The staff was friendly and nice to us during the visit.  The atmosphere, therefore, was quite pleasant overall.

Management at the restaurant, since it's new and different, are understandably proud of it.  The manager went around introducing himself and talking up the restaurant to as many patrons as he could.  He didn't seem to mind interrupting the one fellow who was intently reading a book, or the couple who were engaged in conversation.  It was quite a pitch, too, lasting the better part of thirty minutes to both audiences.  Fortunately, my brother and I left the place before he accosted us.  (That was quite a trick considering that only 3 tables - including ours - were busy at the height of lunch hour.)

On the whole, Raising Cane's is a dissapointment.  For a place that prides itself on its chicken fingers, theirs have no real flavor unless dipped in the sauce, which has a flavor you tire of pretty quickly.  The side dishes were nothing spectacular, and the only really good thing in the meal (the cole slaw) came in too small a portion.  For $6+, I felt like I didn't get that much food and that it wasn't quite that good.  I believe for the same money KFC provides better chicken strips, better (and larger portions of) side dishes, and overall a better value.

I don't think I'm alone in this assessment.  Usually any new restaurant has people lined out the door to get at the food during its opening week.  If it's any good, that pace will continue for weeks or months.  This place has been open less than a week and you can already walk in at the height of lunch hour and not be further back than third in line.  That says something for customers' opinions of the food and pricing.  By contrast, the McDonald's next door, the Applebee's next door, the Subway, Damon's, Bob Evans, Rooster's, Fortune Chinese, etc., all within a 20-second ride of Cane's usually have most or all of their tables full at that time of day.  This says to me that folks in our area tend to prefer almost every other nearby restaurant to this one.

On a 1-10 scale, it rates about a 5. That, in my scale, says it's edible but it's nothing I'm in a hurry to eat again.  To be fair to the place, I will eat there at least once more in the future, preferably with a number of co-workers whose opinions and observations I can add to the review.

Update 06/03/2006: It's been suggested by a reader of this blog that I was having a bad day when I reviewed this site and that I'm way off base in this review.  The response I received didn't suggest that the writer felt that the restaurant's food tasted great, it merely claimed that it is a successful chain and therefore it must be good.  It also suggested that I am unfair in judging the place based on one visit.  THAT is a fair criticism, but I must point out that all the above comments were echoed by my brother that day. It was his SECOND or third visit to the place.  A co-worker, who visited a week or so later, also agreed with the above observations and added this point to the mix... "I've never seen anyone who could cook chicken and make it stop tasting like chicken, or anything else!"  I stand by this review of Raising Cane's because it represents the opinions of 3 separate individuals with varying tastes who visited the restaurant on multiple occasions.

 

Rigid MMO Character Types Suck

| No Comments | No TrackBacks
I've played a number of massively-multiplayer online games [wikipedia.org]. I have played Ultima Online for 6-7 years, Earth & Beyond from the beta test to its death, Eve Online for a few weeks, and City of Heroes a few times. I've come to the conclusion that rigidly-defined character types detract from a game's "fun".

Games Mimic Real-Life, Encourage Learning

As Raph Koster [raphkoster.com] discusses in A Theory of Fun for Game Design [amazon.com], games are abstract versions of real situations and decisions that we have to deal with in life. Perhaps this is one reason why researchers have indicated that surgeons who play video games make fewer mistakes [usatoday.com] in the operating room. The games help them sharpen eye-hand and decision-making skills that translate into actions they perform in the operating room. While it may not be the reason we play, games help prepare our minds for dealing with real life.  They allow us to try our hand at things which would be expensive, dangerous, or impossible to try in real life - and we learn from those experiences.

More Challenges = More Fun

Koster suggests that games are fun when they provide a challenge that's just a little beyond our grasp, and get tougher the better we get at dealing with the challenges.  When game designers limit players' options by saddling them with characters that are artificially limited, they remove some of the challenges and strategic options.  This makes the game less fun.

For example, consider checkers [wikipedia.org] and chess [wikipedia.org]. In checkers, you have two types of pieces (regular checkers and those you've "kinged"). Pieces can move in only one way. Chess meanwhile, is more complex. There are many more kinds of pieces to move, and each piece has a unique set of rules governing how it moves. The chess player has many more options available to use to "trap" or win against the opponent than the checker player.  Both games can be fun, both can be challenging.  All things considered, chess is more challenging and for most people more fun than chess.





What Makes an MMORPG "Fun"?

| No Comments | No TrackBacks

To me, what makes an MMORPG fun is a combination of the following factors:

  • The ability to tailor my character's skill set (i.e., no rigidly-defined character types that prevent me from combining the skills I want to combine in one character)
  • The ability to adjust a character's skills if existing skills turn out to be uninteresting or useless to me
  • The ability to play "solo" and still enjoy myself, with the option of greater reward for teaming up with other players
  • Making PVP combat an opt-in feature
  • The ability to own virtual property in-game, like a house, store, or similar place
  • A way to conveniently sell loot and crafted items to other players, even when I'm not playing, and a relatively easy way for other players to find the items I'm selling and vice-versa
  • A variety of equipment options that allow me to tailor my weapons and protection to the enemy I am dealing with
  • The ability to craft items in the game, and the fact that some items are "rare" to obtain and/or create
  • Regular additions to the in-game content (enemies, quests/missions, equipment, etc.)
  • A mechanism for turning in-game money into real money within the game, and vice-versa (this includes allowing in-game items to be sold on eBay)
  • A reasonably large "universe" in the game, featuring a variety of locations and "themes" (e.g., desert, polar, tropical, etc.)
  • The ability to travel to previously-visited locations nearly instantly
  • In-game activities, story lines, and other content that I can optionally choose to be part of
  • Some "instanced" content, to eliminate the effect of other players "camping" or "farming" popular areas
  • Gaining of skill through USE of the skill, not through anything related to "leveling"
Notice that the above list doesn't include a number of things:

  • Fancy 3D graphics and sound effects (UO has a very dated 2D look and I don't mind that.)
  • A musical soundtrack (This is one of the first things I turn off anyway.)
  • In-game characters voiced by human beings (I can read just fine.)
  • Prohibition of the sale of currency and items on eBay (or elsewhere)
  • Extensive customization of character appearance (I honestly don't care if my character doesn't look "unique" so long as I can recognize which one's mine.)
  • In-game social events and locations, like discos or weddings (These are optional to me.)
  • Official "groups" like guilds, super-groups, clans, or corporations (These often wind up being more trouble than they're worth.)
  • Support for audio chatting in the game (i.e., a "TeamSpeak" equivalent)
  • Efforts to eliminate "farming", "camping", or other such acts (People are going to do this anyway. If you have "instanced" content then these activities won't unnecessarily harm other players.)
  • An assurance from the developers that no character can progress faster than any other (I don't care if someone else's character hits level 20 in 2 days while I only get to level 10 in the same time.  If I want to level as fast, I can create a character just like it.)

I have yet to find an MMO that offers all the things I'm looking for. Ultima Online and Eve Online come close, but don't quite make it.  Earth & Beyond failed miserably.  City of Heroes and City of Villains fail even more miserably. World of Warcraft delivers on most of them.  Pirates of the Burning Sea delivers on several.


M4 Message Breaking Project Posts Second Success!

| No Comments | No TrackBacks
Earlier I mentioned that I've been donating CPU time to the M4 Message Breaking Project, which is a distributed computing effort intended to crack some previously undecoded German military messages from World War II.  The project decoded one message pretty early on.  It failed to decode the second message after several tries, so it moved on to the third (planning to come back to the second again later to do a more thorough run against it).  The third message cracked some time in the last several hours.  It's a bit garbled, but the experts are working on it to complete the translation and determine exactly who sent it.

It appears to say:

On escort course 55 degrees nothing found, following given grid (square). Position AJ3995. [wind] South East 4, seedrem(?), 10/10 overcast, [barometer] 28mb risen, visibility in fog 1 nautical mile

And it appears to be from a captain Schreeder, Schroeder, or Schreiber.  (There's some debate as to exactly what the name is due to some of the garbling, potential mis-keying, mis-spelling, etc.)

Regardless, it feels very cool to be a part of a project that's uncovering a tiny piece of history.

The final message is currently being attacked.  If you're interested in taking part in the project or just monitoring its progress, the official site is http://www.bytereef.org/m4_project.html

 

What is Java.Downloader.Openstream.A?

| No Comments | No TrackBacks

In looking over my web server logs for the past year, I found that a significant number of people were searching for information about this particular Trojan.  I suspect the reason they came to my site is that I mention it in my review of the free open source antivirus program, Clamwin, which happened to detect this Trojan on one of my systems.  Given that I wasn't quite sure what it was, either, I figured I do a little research so that the next one of you to come to my site looking for the answer to this question will find it instantly.  It took a bit of digging, but here's what I can tell you.

Java.Downloader.Openstream.A is one of the aliases of a Trojan also known by the following names (or at least is related to these):

  • Troj/Openstr-B
  • Trojan.Java.Openstream.w
  • Java.Downloader.OpenStream.A
  • Trojan-Downloader.Java.OpenStream.w
  • Java/OpenStream.W
  • Java/OpenStream
  • Trj/Downloader.DMY
  • Java/Openstream.W

Doing a search on the above names can provide more information.

This virus spreads during web browsing on Windows PCs.  It downloads and runs a program from a website.  The program it downloads is apparently a variation on a Trojan called "Win32/IstBar". Computer Associates also categorizes this program as Spyware, meaning it can capture personal information and transmit it to others.

My advice to you is that if your antivirus program detects this Trojan on your system, have it remove or delete the infected file.  Run another virus scan of your entire computer (all drives, all files, all directories) after doing that, since these Trojans often drop another "payload" (virus, program, etc.) on your system.  That other program is usually the dangerous one, and your antivirus software should pick it up.

It may also be worthwhile (for Windows users) to use a tool such as "Hijack This" to determine if there are any programs set to run at startup which should not be running.  (I can't really advise you on specifically what should and should not be running at startup on your system, as each computer can be different and not everything running at startup is bad.)  Hitting "Control-Alt-Delete" to bring up the Task Manager and looking at the processes running on your system can be helpful as well.  Processes that are unfamiliar could be viruses, Trojans, or spyware running on your PC.  (Again, I can't tell you which specific processes those might be, but you can usually do a search on each process name that appears in your list and often find out if it's something safe or potentially dangerous.)  In any case, I don't recommend disabling anything in Hijack This or killing anything in the Task Manager unless you're sure you know what it is.

 

The M4 Message Breaking Project

| No Comments | No TrackBacks

I recently read about the "M4 Message Breaking Project", which is a distributed computing experiment being done to crack some previously-undeciphered messages transmitted by the German military during World War II.  The messages were encrypted by one of the "Enigma" encoding machines, which the Germans thought were unbreakable, but which the Allies secretly had cracked soon after they went into widespread use.  During the period of time between the use of the "M3" encryption machine and the much more robust "M4" device, there was a period of time during which the Allies were unable to translate the messages the Germans were sending.  The M4 Project has 6 messages believed to be from this time period and is using "borrowed" computer time on a number of PCs and Macs around the world to decode these historical messages.

So far, the project has cracked one of the 6 messages, which was a message from German U-boat commander Hartwig Looks of U-264, indicating that he had been forced to submerge during an attack due to the enemy's use of depth charges.  The message also provided the last known coordinates of the enemy vessel.

The current message been analyzed by the project has not yet been decoded as of this writing, though several passes over the "decoding space" have been made. 

I'm currently running the client on my home PCs when they're not doing anything else for me.  They've contributed a number of "chunks" of analysis to the project already, with more delivered every few minutes/hours.

If you're interested in contributing some of your own computers' time to the project, all you need to do is download the client software, install it, and let it set to work.  The client software is quite well behaved.  It will generally only consume computing resources when your system isn't doing something else, so you don't tend to notice that it's running your CPU at full-tilt.