Where is my pool?

I usually love coming home from a business trip. Nothing like my own bed, my own shower, etc… But monday night was something I did not want to come home to. When I pulled in the driveway I could not understand why there was water on the driveway when it hasn’t rained in quite a while. I then looked at the retaining wall next to the driveway and there was a nice little bit of water “falling” over it. Still could not understand where it was coming from as where that water was the only thing there was the gutter drain, and it hasn’t rained.. So I then look up in my yard and what do I see a little 3 to 4 inch water fountain coming out of the ground. The ground had risen about 3 to 4 inches around where the water was and made a nice little hump. Oh SHIT…. I immediately ran up and shut off the main water valve at the water meter. The water fountain goes away and the hump goes down… Oh shit my water line has broke….

So I called MUB and they were like “Sorry if it is between the meter and your house it is your own problem.” Freaking awesome, they place the meter 2 foot from the road and there is like 35 feet between it and the entrance to my house. So I grab the shovel and start digging and digging and digging. One thing about a water leak, it sort of tells you where it is at by where the fountain was. So after a while a friend from work and his dad and my parents show up.. My friend and I continue digging. All the time thinking that the line we are looking for is a metal line, because it is metal at the meter and metal in the house.. But NO for some stupid ass reason they put converters on it and converted it to 3/4 inch PLASTIC. So we keep digging and then turn the water on a little to have it “clear” the way so we can see where the line is. Finally after about an hour we find the pipe. It has about a 1 inch slice in it.

Now it is 5 minutes till 9PM, haven’t eaten yet, been on the road for 5 hours and now I am realizing I am not getting any water this evening. My mom tries to make a dash for Lowes to get parts, but they are closed by the time she gets there. So I grab the 15 gallons of water my parents brought down and try to clean up some.

Fast forward to Tuesday morning I make a dash to Lowes as soon as they open. “We are sorry, we don’t sell the stuff to fix your pipe”. WTF, you are a home improvement store but you don’t sell stuff to fix pipe even though you sell the pipe? So off to Hugarts, this is one of those places where if they don’t have it, more than likly you don’t need it in the first place. With parts in hand I head home to fix the pipe. If you have never worked on 3/4 inch water supply line that is plastic, (this being my first time), it was a chore. Luckly the piece I cut fit the bend perfectly that was already there. But the hard part was putting the joiners in and getting everything tight. So here is what it looked like when I was done:
pipe
Not sure if you can tell from the pic, but this was just over 2 foot under ground. So with the pipe fixed it is time to fire it up, turned the water on and everything seems fine.

Now was the time to try and figure out how much water had actually came out during the little problem. I looked at the meter and all I saw was this:
meter

So doesn’t tell me too much as I don’t know how they read the meters. (I say this because on my last water bill all it said was 287 was the meter reading). So I called MUB and they said they would come out some time before 3 tomorrow (Wednesday) and do a meter reading. I could not fill the dirt back in because they had to “verify” that my line did break.

So MUB shows up today and I go out to talk with the guy. I asked him what they were actually reading when they read the meter. Short answer the first 3 digits. So I thought to my self oh shit… See the current reading was 447,420. When my meter was last read (6.1.09) the first 3 digits was 287. So that tells me that between 6.1.09 and today there has been 160,000 gallons of water go through my meter. As a prospective, my bill (based on 3 months) is usually only 6,000 gallons. So 160,000 gallons is enough for me for 6 years. This is when I told the guy, “damn that is a lot of water, wish I had a pool to put it in.” He sort of laughed and said that is more water than goes in to a pool. (So I looked it up, 160,000 gallons of water is equivalent to 27 foot cube. That is a metric fuck-ton of water, to quote a DefCon goon….)

So the MUB guy leaves and now I start filling in the hole, thinking to my self how am I going to pay for the equivalent of 6 years of water and sewage. Here is the coffin I mean ditch that I had to start filling in:
ditch
It got to the point it was too hot and I pissed off some yellow jackets so I went in side and waited a couple of hours. Went back and finished filling it in and it now looks almost like it did before I started:
after

So now I have to call MUB tomorrow to see what they are going to do. Hopefully I can get a waiver, as there was no way to tell the line was broke until the fountain sprouted. I guess I could go out side and read the meter every day, but who does that?

So leads me to the title. I wish I would have at least had a pool to put all that water end, at least I could have enjoyed it, rather then digging through the mud and clay for 4 hours.

OpenVPN between Solaris and MacOSX

I decided to see if I could get a VPN connection working between my laptop (running MacOSX) and my home server running Solaris 10. It turned out to be pretty easy to do a simple config. I am using OpenVPN. To compile the software on my Solaris box I needed to download 3 items:

  1. Virtual Point-to-Point (Tun) and Ethernet (TAP) devices driver. I got the version 1.1 from http://vtun.sourceforge.net/tun/ in source code form.
  2. LZO version 1.08 compression software from : http://www.oberhumer.com/opensource/lzo/download/LZO-v1/
  3. OpenVPN software, I am using the version 2.1RC because I wanted the version to match what I am going to run on the Mac. It can be downloaded from http://openvpn.net/index.php/open-source/downloads.html

Once I got everything downloaded, just compile the LZO, Tun, and OpenVPN:
I decided to have everything related to the vpn installed in /opt/vpn. One thing to note, I tried using the new version 2.x of LZO, and OpenVPN would not find it, so I had to use Version 1 even though 2 is supposed to be supported. So I did the following to compile LZO:

gzip -d lzo-1.08.tar.gz
tar -xvf lzo-1.08.tar
cd lzo-1.08
./configure --prefix=/opt/vpn/lzo
make
sudo make install

Next was to compile TUN

gzip -d tun-1.1.tar
tar -xvf tun-1.1.tar
cd tun-1.1
./configure --prefix=/opt/vpn/tun
make
sudo make install

Only issue with tun was that it did not use the –prefix, it puts everything where it needs to be in /usr/kernel/drv on solaris.

Next is openvpn:

gzip -d openvpn-2.1_rc19.tar.gz
tar -xvf openvpn-2.1_rc19.tar
cd openvpn-2.1_rc19
./configure --prefix=/opt/vpn/openvpn --with-lzo-headers=/opt/vpn/lzo/include --with-lzo-lib=/opt/vpn/lzo/lib
make
sudo make install

Once that is installed I did the simple 1 to 1 vpn connection (static key) for just testing to see if it would work. So in the /opt/vpn/openvpn/sbin directory I did this:

cd /opt/vpn/openvpn/sbin
./openvpn --genkey --secret static.key

I then copy that key to my client via some “secure” means

Then created a server.conf that looks like this:

dev tun
ifconfig 10.8.0.1 10.8.0.2
secret static.key
cipher AES-256-CBC
keepalive 10 120

On my client (MacOSX) I downloaded Tunnelblick from http://code.google.com/p/tunnelblick/downloads/list and installed it. Next I copied that static.key from the server to the client and put it in ~/Library/openvpn. I also created a openvpn.conf in that directory that looked like this:

remote a.b.c.d
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret static.key
cipher AES-256-CBC
route 10.0.0.0 255.255.255.0

In the above, a.b.c.d represents my public IP address for my solaris server.

Now when you start tunnelblick it will search that directory and find that config file and ask if you want to load it. But we are not quite ready to start yet. The next thing I had to do was forward port 1194 UDP off of my router to my OpenVPN server. I will leave this exercise to you. You will also need to make sure IP forwarding is enabled on the Solaris 10 server (because I only have 1 network card in it, but “two” different networks on the box. IP Forwarding will allow your remote machine to be able to see your local network. And since my OpenVPN server is not the router for the entire network, I had to add a static route on my router to say that 10.8.0.0 is available via the openvpn servers local network address, I.e. 10.0.0.1.

You should be able to start the openvpn server now:

/opt/vpn/openvpn/sbin/openvpn server.conf

Once it is started you can use tunnelblick to connect. Once you are connected, you should see that is is connected and the icon has changed from this:
Picture 3
to look like this:
Picture 2

You should also see a tun0 device show up:

ifconfig tun0
tun0: flags=8851 < up ,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST > mtu 1500
	inet 10.8.0.2 --> 10.8.0.1 netmask 0xffffffff 
	open (pid 608)

You should now be able to see all your hosts on the “remote” network. Next up I am going to work on doing the pki infrastructure so I can hopefully link other clients both static and dynamic.

This make is really nice to be able to see your “home” network while you are away.

KDKA please fix your TVGOS signal

Found out that the problem with my TVGOS on my one TV is that KDKA doesn’t seem to “know” about Morgantown’s zip codes. So I sent them this tonight, will see what happens or if I even get a response:

Hello,
Currently I have a TV that uses Macrovision’s (Rovi’s) TVGOS system to display the TV Guide program guide. When the signal was coming from the analog WNPB PBS Station in Morgantown WV everything seemed fine. However now that I get the signal from your station on Comcast Cable in Morgantown, the TV can never find the listings for Morgantown. I found that if I put in the zip code as 15222, it will display the comcast info for Pittsburgh, however that information is not correct for Comcast in Morgantown. Is there any way you can add Morgantown’s zip code and channel info to what ever transmits that data? Specifically 26505 or 26501.

Thanks

Sun Ray 5 Early Access part 2

I finally got time again to start playing with Sun Ray 5 Early Access software. Now my current setup probably should not be used for any type of test more than simple single/dual user testing. But I did not want to test the software on the current working server. So I decided to install it in a VMWare image on my Mac Pro. The Mac Pro is more than suited to handle it and had plenty of free memory/processor/storage to use so there was no contention (I gave the VM 4 processors and 8 gig of ram)..

The kicker was getting VMWare Fusion to actually allocate the network cards the way I needed them. I gave the VM 2 nics (the Mac Pro has 2), however the only options that VMWare Fusion let you do is NAT, Host-Only, and Bridged. None of which will work if I want a private network for the Sun Ray’s. To fix this you will need to go and edit some files that VMWare Fusion uses. What I had to do was the following:

1. Open up the Terminal app
2. Edit the file /Library/Application Support/VMware Fusion/boot.sh

sudo vi /Library/Application\ Support/VMware\ Fusion/boot.sh

3. Comment out the following line:

"$LIBDIR/vmnet-bridge" -d /var/run/vmnet-bridge-vmnet0.pid vmnet0 ''

And then add 2 lines directly below that line, which tells vmware to bind the en0 physical device to the vmnet0 virtual device, same for en1 to vmnet2. Note you can not use vmnet1 or vmnet8 as those are for NAT and Host-only connections.

"$LIBDIR/vmnet-bridge" -d /var/run/vmnet-bridge-vmnet0.pid vmnet0 en0
"$LIBDIR/vmnet-bridge" -d /var/run/vmnet-bridge-vmnet2.pid vmnet2 en1

Once done, do the following:

sudo /Library/Application\ Support/VMware\ Fusion/boot.sh --restart

Now go in to your Mac System Preferences and configure the second network card for a private subnet (i.e. 192.168.128.0/24, and set the IP to be something like 192.168.128.254).

Now make sure that your VM is NOT started and is in a powered off state. Go in to the VM and under the settings for that VM add another network adapter, make sure it is selected as “Connected” it doesn’t matter what the device is configured to as we will change it later to an option that is not shown in that list.

Now you need to change the .VMX file so that it can use the new network device. So go in to the directory where you have your VM’s at and then cd in to the machine.vmwarevm directory (For example mine is called SolarisDev.vmwarevm)

Once in there you will need to edit the vmx file, mine is called SolarisDev.vmx. The first thing we are going to change is the ethernet0.connectionType property. Right now it could be any of the ones listed (host-only,bridged, nat). But we are going to change this to “custom”:

ethernet0.connectionType="custom"

Next find the entry for ethernet0.vnet, if it doesn’t exist create it and make it look like the line below. If it does exist and doesn’t match that below, make it match that:

ethernet0.vnet = "vmnet0"

Now we need to do the same for the ethernet1 entries. The only difference to what is above is vmnet0 changes to vmnet2. Once the changes are made you can save the file and start up your Solaris VM. Now what ever network is on your en0 connection on your Mac should be what is connected to the e1000g0 network on the Solaris side. I used the e1000g0 as the “public” side of the Sun Ray server. The e1000g1 interface will be what ever is connected on the en1 connection on the Mac side. I used this adapter for the private Sun Ray Lan.

You should be able to finish following the instructions on the Sun Ray wiki now and get everything configured.

To test the soft client, I set up LAN Connections on the Sun Ray Server:

/opt/SUNWut/sbin/utadm -L on

I then installed the soft client in another VM on the same machine that only had access to the public network. You then can tell the soft client what the IP of the Sun Ray server is and it will connect. Pretty darn cool that the soft client works with minimal config.

This can probably be done on a MacBook Pro as well, if you use the wireless connection as the public side and the wired as the private side. Nice way to do a little demo in one computer.

For reference here is what my network section of the .vmx file looks like :

ethernet0.addressType = "generated"
ethernet0.connectionType = "custom"
ethernet0.generatedAddress = "00:0c:29:f8:29:3b"
ethernet0.generatedAddressOffset = "0"
ethernet0.linkStatePropagation.enable = "TRUE"
ethernet0.pciSlotNumber = "32"
ethernet0.present = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet0.vnet = "vmnet0"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet1.addressType = "generated"
ethernet1.connectionType = "custom"
ethernet1.generatedAddress = "00:0c:29:f8:29:45"
ethernet1.generatedAddressOffset = "10"
ethernet1.linkStatePropagation.enable = "TRUE"
ethernet1.pciSlotNumber = "35"
ethernet1.present = "TRUE"
ethernet1.virtualDev = "e1000"
ethernet1.vnet = "vmnet2"
ethernet1.wakeOnPcktRcv = "FALSE"

References:
Sun Ray Software 4.2 Wiki: http://wikis.sun.com/display/SRSS4dot2/Home

Good news for DTV in Morgantown

It seems that the TV stations are finally realizing that their Digital Signal doesn’t cover what their analog signal used to.. The hopefully good news for those in Morgantown, WV is that KDKA is filing a petition to build a translator tower in Morgantown so we will be able to get channel 2 over the Air. They are planning on trying to put it on channel 31. The other good news is WPXI is filing a petition to build a translator tower in Uniontown PA what would be on channel 23.

Now if only WTAE, WPGH, WPMY and WPCW would put translators down close to Morgantown, we could finally get good service over the air.

Right now Morgantown, WV is considered in the Pittsburgh DMA, even though we are closer to the Clarksburg DMA. But right now you can’t receive hardly anything from either DMA’s and the only thing we are left with is WNPB which is PBS. So come on WPGH, WTAE, WPMY, and WPCW put some translators in Morgantown so we can get the coverage we used to have with your analog channels!