[UPDATE 1.15.2009] http://iworkwithcomputers.com/2009/01/15/fallout-3new-web-based-terminal-hacker-helper-2/
I’ve been playing a lot of Fallout 3 lately, and it’s every bit as good as Oblivion and then some (Oblivion + Guns = Crazy Delicious). My character isn’t all that good at computer-terminal hacking, so I decided to create a little Ruby script to help me out. The script asks for all the words found on the terminal screen and then asks the user to enter in a guess in the game, and report back the number of correct characters.
So, say that the terminal words were as follows:

Figure 1 - Entering in words from the terminal
And say my first guess was “packing” and Fallout said that I got 3/7 characters correct. I’d enter in “packing 3″, the script would return:

Figure 2 - Entering in a guess of
The script has narrowed my choices down to the following words: hacking, snowing, and blowing. Behind the scenes, the script has taken my guessed word, “packing” and the number of correct letters, 3. With that, the program “knows” that in the word “packing” there is a series of letters, three-letters-long to be exact, that are in the exact same placement in the actual word that will unlock the computer terminal. With this knowledge, the script makes as many 3-letter “segments” as it can from the guessed-word, “packing” and tries to match it up with any of the entered terminal words.
Packing has the following three-lettered segments inside it: “pac”, “ack”, “cki”, “kin”, and “ing”. Looking across all the entered words from Figure 1, the script found that hacking, snowing, and blowing, each have a 3-lettered segment that “packing” does, and that’s “ing”. So it returns those as possible matches. Note: a guess with only 1-letter matching is not all that useful, and currently, the script just throws those guesses out, and removes that guess from the list of possible words to try.
Let’s say my next guess was to try “blowing” and the correct letter count was 5, with segments “blowi”, “lowin”, and “owing”. With that info, there is only one possible answer, and the script let’s you know:

Figure 3 - Last Guess
And that’s it! The code is a little messy, as it’s one of my first Ruby scripts (started a few days ago with Rails). Other than that it’s been very helpful. Previously I was doing most of this work by hand–writing down the words in notepad, recording number of correct letters, finding possible matches, until I realized, “Wait a tick! I’m a programmer! What the hell am I doing writing this out by hand!?”
For your downloading pleasure: Fallout 3 Terminal-Hacking Helper
Update[12.23.2008]:
After reviewing the code, I made another change that should lead to more accurate results. Instead of breaking up each word into segments, I compare the guessed word’s letters and the letters of each word entered from the terminal. If in each word, the letters have similar placements, I add that as a possible “answer”. For instance if the following word were entered in, and a guess of “returning” had 5 correct letters, “determine” would be one of the possible solutions to try because “returning” and “determine” have the following letters in the exact same places: “_et_r_in_”. Before, “returning” would have only matched words that had 5-consecutive letter matches and in this case, it would have returned nothing–confusing the user. Updated code after the images.

Entries entered into the

Guess entered into
Updated file here: Fallout 3 Terminal-Hacking Helper