Save Money With DIY Phone Wiring

It’s not the prettiest site in the world, but homephonewiring.com has awesome guides for just about anything you might want to do with your home phone service. I went looking for it because my Mom wanted me to wire her up an additional phone jack and the instructions worked perfectly! They also have step-by-step guides for wiring a second line, wiring a third line, and wiring a DSL splitter. Very handy stuff if you don’t mind hacking around a bit with these things.

Verizon wanted to charge more than $100 to come out and wire up the additional jack, but it’s really only about twenty minuets worth of work and all you need is a screwdriver and wire cutters! It’s amazing how much money you can save if you are just willing to try something yourself!

RHEL useradd Syntax

Unlike other flavors of UNIX, RHEL does not have a command like adduser which walks you through the process step-by-step, so you have to remember the four flags useradd requires, and in what order it expects to receive them. Since I don’t manually add users unless I’m installing a new server, I don’t run the command enough to remember the syntax… It’s basically the same as it is on Solaris.

useradd -g group -c 'User Name' -d /path/to/home/directory -s /bin/bash username

The iPhone is Still Not Quite There

I’m begrudged to admit it, but Vasken is right in his claim that his Blackberry is better than the iPhone… For now at least. Having had the chance to play a little with Casey’s iPhone, I must say that the interface is wonderful. It is slick, intuitive and easy to use, but the device itself is lacking in some of the functionality that I would consider basic in a $600 phone.

Apple proudly boasts that the phone can play You Tube videos, but unfortunately you have to use a special player to do so. You can’t simply use your web browser to play them, which is a shame because it would be much more usable if you could. In fact, the Safari browser that comes with the iPhone does not support Flash media of any kind which certainly limits the user’s browsing experience.

The largest problem for me, however, is the lack of user enabled GPS. The phone has a GPS in it, but it is totally unavailable to applications running on the device. Again, Apple talks a lot about how wonderfully integrated the iPhone is with Google Maps, but its usefulness is greatly diminished because the device can’t tell Google Maps where it is. For me, the biggest advantage to having an enabled GPS would be for GeoBlogging, but just imagine how well it could work as a navigation tool if GPS was properly integrated. It would totally replace need for TomTom and other in-car navigational aids.

I think the iPhone is a good product, and I do believe that it will become the best phone / PDA / iPod / GPS on the market, but it is just not quite there yet. The product feels slightly immature to me, so I may wait for a few revisions before I pony up the $600 to buy one.

Example LINUX init Script

From time to time, people want me to create LINUX init scripts for them. I usually just take an existing one for another service and change it up to work for my new application, but most of them have become so long these days that I end up having to hack out a ton of code just to reduce them down to the very basic script I need. I decided to create this very simple template so I wouldn’t have to keep trimming down the more complex scripts that one tends to find in /etc/init.d these days.

This script is chkconfig compatible, so call it the name of your new service and put it in /etc/init.d

The chkconfig: 235 section indicates the the default runlevels. For instance, if we called this script /etc/init.d/new-service and ran chkconfig new-service on, it would be active in runlevels 2,3 and 5.

The 98 and 55 numbers indicate the order of startup and kill. This means that using this tag, the startup symbolic link would be named S98new-service and the symbolic link to kill the process would be named K55new-service.

#### SNIP ####

#! /bin/sh
# Basic support for IRIX style chkconfig
###
# chkconfig: 235 98 55
# description: Manages the services you are controlling with the chkconfig command
###

case "$1" in
  start)
        echo -n "Starting new-service"
        #To run it as root:
        /path/to/command/to/start/new-service
        #Or to run it as some other user:
        /bin/su - username -c /path/to/command/to/start/new-service
        echo "."
        ;;
  stop)
        echo -n "Stopping new-service"
        #To run it as root:
        /path/to/command/to/stop/new-service
        #Or to run it as some other user:
        /bin/su - username -c /path/to/command/to/stop/new-service
        echo "."
        ;;

  *)
        echo "Usage: /sbin/service new-service {start|stop}"
        exit 1
esac

exit 0


#### /SNIP ####

Obviously change all instances of “new-service” to the name of your actual service… Enjoy!

Bash For loop Example

I’m always forgetting the syntax to make “for” loops in Bash. I guess it serves me right for using foreach most of my UNIX life instead. Anyhow, I know I will have to come back here to find it, so I thought I would write put up this quick example with the hope that it will be useful to others as well.

for i in $(seq 1 100); do echo -n "file${i} "; touch file${i} 2>&1; done

The the above for loop will create 100 files (called file1, file2, etc.).

Registering Solaris CLARiiON Hosts With QLA 2310 HBAs

Sun Microsystems likes the QLA 2310 Fiber Channel HBA. It’s only a 2Gig card, but it works with the Sun native driver, which makes it wonderful for us Solaris Administrators. Unfortunately, it does not integrate perfectly with EMC CLARiiON SANs because it does not register properly with Navasphere. Even if you manually register the host, the LUNs will not be presented to the host because the agent can’t pass commands to the array.

To remedy this situation on my Solaris 8 host, I used the following procedure:

Edit the /etc/system file and add the following line:

set fcp:ssfcp_enable_auto_configuration=1

Next, I rebooted my Solaris host with the “-r” flag:

reboot -- -r

Next I checked Navisphere to make sure my paths have logged in. They were, so I logged into the Solaris host and ran the following commands:

cfgadm
devfsadm
format

I then saw the storage that was presented to my host. Finally, I restarted the Navisphere agent and started using my new LUNs.

Brattleboro Selectmen Ban Public Nudity

In a truly astounding display of cowardice and pandering to conservative whining, the Brattleboro selectmen narrowly approved an “emergency ordinance” banning public nudity on city streets today. Vermont, and Brattleboro in particular have a long history of tolerating nudity in public. The state, along with many of its towns have absolutely no law requiring that people wear cloths in public so long as they are minding their own business.

The “emergency” that precipitated the ordinance was an elderly Arizona man who decided to attend the city’s gallery walk in the nude. Apparently the conservative blowhards can handle it when nude people are young and beautiful, but they draw the line and call it an “emergency” when it’s an old saggy guy. Nice going fellas!

I can’t say that I truly understand why these people enjoy being nude in public, but I’m totally sick and tired of this country’s uptight and irrational hangups about the naked body. Many news articles covering this story have quotes from people saying things like “I don’t think children should be seeing this”. I suppose they would rather our children learn to be ashamed of their bodies and perpetuate the misconception in this country that all nudity is sexual? Don’t you think the more casual attitudes towards nudity we see thru-out much of Europe are a lot healthier for our children than America’s ludicrous, Christian imposed complex about it? I don’t have children, but if I did, I would much rather they be exposed to nudity outside the sexual context so they could realize that everyone’s body is different and that it is OK for them not to look exactly like the models in glamour magazines.

A naked body is something that each and every one of us have, but for some reason we are taught to be ashamed of it. Like it or not, most of the body-image issues and eating disorders that prevail in this country can be directly traced back to our villification of the naked body. Wouldn’t it be great to see people from all over the country descend upon the streets of Brattleboro and stage a Spencer Tunick style installation of thousands of naked bodies in protest of this draconian ordinance? I certainly think so.