Q: My home IP address changes too frequently -- do I need to pay for a static IP?

Answer: Upgrading to a business plan (or any plan that provides static IPs) is certainly a reasonable option. Alternatively, you could use a service like [ DynDNS] or []. After creating an account with one of the dynamic DNS services, install and configure a client (like [ ddclient]) to run on one of your machines at home. When it detects a change in your IP, it will update the information at your dynamic DNS service.

Q: Can I use name-based virtual hosts with SSL certs?

Answer: No. For SSL services you need to have each host on its own IP with DNS that matches the CommonName (CN) in the cert. SSL negotiation happens before the HTTP request is sent, so before the web server could possibly know which virtual host the request is for. That means that each virtual host must have its own IP address and own cert.

[ RFC 2817] suggests another option, though it may not be well-supported.

See also:

Q: Which ISP should I use?

Answer: This question is asked often, and there are many, many answers in the [:Mailing_List:mailing list:] archives. To summarize, a few more folks use TDS than do Charter. Why? Perhaps because some folks in the LUG used to work at TDS. Or because TDS is based in Madison. Or because TDS mirrors lots of Linux and other FOSS goodies. Who knows? Some other folks use AT&T (née SBC) as well.

See also:

Q: I think I might have some bad RAM -- how can I test it?

Answer: On x86 computers ('PC's), install [ Memtest86]. Memtest86 is started from your bootloader (GRUB, LILO, GAG, etc) and performs tests of your RAM. After several passes of all of your RAM, it will find most any problem. You could also try Charles Cazabon's [ Memtester], which can run under your current operating system. Most of the [ Knoppix] distros come with Memtest86 also which can be handy. It's also rumored that RAM sticks should be tested one-stick-at-a-time for best accuracy.

Q: How do I check the return value of a command I just ran?

Answer: To merely check for success/failure, use logical operands:

$ ./your_command && echo "Success!"
$ ./your_command || echo "Failure!"

To find out the return code, use the shell's $? variable:

$ ./your_command; echo $?

FAQ (last edited 2007-06-02 12:48:53 by digitek)