Bible Code Finder

At long last, I’ve recovered the source code for my Bible Code Finder application. It’s covered in more detail in this article. The program takes a plain text file (preferably a large one), and allows you to scan it for occurrences of words with equidistant letter spacing. Download the program and, if you’d like, the source code repository. To download the full text of the Bible (or a great number of other texts), visit Project Gutenberg.

Example Bible CodeIt works like this: start the program and open the text file that you want to search (the program automatically strips punctuation and whitespace). Then enter up to seven words to look for, and click the Start button! The program will find the first occurrence of all words within a certain range, unless you select “Find All” instead of “Find One.” The result(s) will be shown in the Results tab.

The “Frame Size” parameter is the range (in letters) within which all words must be found. “Min Delta” and “Max Delta” are the minimum and maximum letter spacing of words to search.

Obviously, longer words will take longer to search for. Generally it’s highly improbable to find combinations with words longer than 8 letters. On the other hand, don’t search for words shorter than three letters, since too many results will be found. As a rule, try to enter longer words first, then shorter words. This will result in a quicker search.

Getting NTFS to Work in Linux

This is really not that difficult, but I thought I’d document it here for my own reference later on. First, download the kernel module RPM from the official linux-ntfs site. Install the RPM:

su
rpm -ivh kernel-module-ntfs*

Then load the kernel module:

/sbin/modprobe ntfs

And that’s it. If you want to permanently mount an NTFS partition at a certain directory, add a line to /etc/fstab:

/dev/sda1    /home/username/mydir    ntfs    ro,umask=0222    0    0

It’s best to mount NTFS partitions as read-only, since NTFS support in Linux is still incomplete, and we don’t want to risk damaging the partition.

Open-Source Tools for Everything

I thought I’d post a list of the best open-source utilities (at the present time) for performing various tasks. This isn’t necessarily a list of the “best” tools, but just tools that have worked the best for me.

  • OpenOffice.org – Word processing, spreadsheet, presentations, etc.
  • Firefox – Web browser.
  • Xine and/or MPlayer – Play DVDs and various video formats. (Linux only)
  • VideoLAN – Play videos, DVDs, and streams.
  • XMMS – Audio player (Linux only). Requires a special plugin to play MP3 and WMA files.
  • The GIMP – Drawing and image processing
  • The Paint.NET – Simple yet very powerful image editor.
  • dvd::rip – DVD ripping and transcoding (Linux only)
  • CDEx – CD ripping (Windows only)
  • Audacity – Audio track recorder and editor
  • VirtualDub – Video capture/processing utility
  • FileZilla – FTP client and server (Windows only)
  • WinMerge – File and directory compare (Windows only)
  • 7-Zip – Archive utility (Windows only)
  • gaim – Instant messaging client
  • Wireshark – Ethernet packet analyzer (formerly Ethereal)
  • Metasploit – Framework for testing exploits
  • HxD – Hex editor

Miscellaneous open-source (or otherwise free) things that are nice to have:

Upgrade Your Mouse Cursor, Free!

For a while now I’ve been unhappy with my mouse cursor; specifically, the cursor that appears when you’re hovering over a link on a web page, like this. So I went ahead and created my own. It looks almost the same as the original, but with one subtle difference. Want the cursor for yourself? Download it, copy it to your Windows\Cursors directory, and select it from the Mouse Properties in your Control Panel.

Getting the Damn STB TV Tuner Working in RedHat 9

My computer came with a PCI TV tuner card from STB. The manufacturer provided drivers for Windows 98, but of course, shortly thereafter, the manufacturer disappeared from the face of the earth. Obtaining a suitable driver for Windows XP was nearly impossible until the recent development of open-source WDM drivers for all BT848-based tuner cards. However, although getting the card to work under Linux was a bit tricky, it was not at all impossible. This is a brief log of the steps I took to get the damn thing to work under RedHat 9.

At first I tried to use xawtv just to see if I could get a picture. And in fact, it actually showed Channel 3, which got me excited. However, there was no sound, and I couldn’t change the channel. I knew that the configuration of bttv was somehow wrong. After poring over the BTTV HOWTO document, I came up with the following lines to add to /etc/modules.conf:

# TV settings
alias char-major-81 bttv
pre-install bttv /sbin/modprobe -k tuner; /sbin/modprobe -k msp3400
options bttv radio=1 card=3
options tuner type=2

The parameters specified above correctly identify the STB TV PCI card, and even enable FM radio functionality, which the card supports.

After a reboot, xawtv worked wonderfully. However, there was soon a new problem: I installed an updated accelerated video driver from NVIDIA, which made xawtv crash with a segmentation fault. After searching the web for answers, I found the following solution: simply start xawtv with the command line xawtv -device /dev/video0. That’s it!

One more minor issue was getting the program called tvtime to work. This program is vastly superior to xawtv, but it had a slight problem where it automatically turned up the tuner volume all the way, and let the user control the volume through the mixer. This wasn’t good because the STB card clips the audio if it’s above 50% volume, so it sounded really distorted and rectified. All I needed to do to fix this was find the line of code where tvtime sets the tuner volume, and change the default number. The number that it was setting the volume to was 60000 (presumably the maximum is 65535). So I changed it to 32000 and recompiled. It now runs marvelously.
(Update 10-24-04: I submitted a bug report to tvtime, and the author added a preference to control the audio gain on the tuner card itself. Thanks!)