Friday, February 26, 2010

Somebody Had To Tell Him

This was too funny to not post, but you know how Darth Vader survived the Death Star explosion? Which one? He survived the second one, too. Okay, but I'm taking about the first one. Yeah, in the first movie-- the one that was fourth in the series.

Anyway... Robot Chicken has a scene where Darth Vader calls the Emporer to tell him about the destruction.

Wednesday, February 24, 2010

SVN Import in Place

One thing that irritates me about SVN is that the solution to every problem is to blow away your working copy and check out a new version. Of course this means you never really fix anything. But, that's not my concern today. Today the goal is to add an unversioned project to a repository without deleting anything.

We assume the project is on one server and the repository is another. We are going to use SSH as our transfer. The SVN server and client packages are loaded and configured.

First, prepare the directory structure on the repository.
svnadmin create --fs-type fsfs /svnrepos/target
Everything else is done from the project server.

Establish connection between project server and repository.
vi ~/.ssh/config
host websvn
  hostname websvn   # resoled in /etc/hosts
  port 22                     # relocate if public
  user svnuser           # change as needed
  IdentityFile ~/.ssh/svnuser_id_rsa
Test it:
ssh websvn uptime

Use a dummy directory to create the repository skeleton.
cd /tmp; mkdir /tmp/target; cd /tmp/target
mkdir trunk branches tags
svn import -m "Initilize" . svn+ssh://websvn/svnrepos/target

Delete the dummy.
cd ~; rm -rf /tmp/target/

Move to the project's root and do a checkout against the empty repository.
cd /var/www/target/
# never trust anyone... backup! backup! backup!
tar czf /tmp/emergency.tgz *
svn co svn+ssh://websvn/svnrepos/target/trunk .
ls -ld .svn
If you get an error, you forgot the dot in the SVN command.

Add the directories and check in the pre-existing files.
svn add ./*
svn ci -m "Inplace import"

Use your WebSVN interface to confirm the files are in the repository.

Wednesday, February 10, 2010

Toyota in Defilade

So it took three days, but I was able to hand shovel 190 linear feet to the main road. Saturday was spent getting to the car, and getting the car clear. I still assumed the parking lot would get plowed. On Sunday, I lost hope, and started shoveling to freedom-- about five other residents helped, but we ran out of daylight about 25 feet short of meeting up with trail a Jeep Cherokee had cut. About 10am Monday, the digging continued, and we hit the main road at about 1pm.

Tuesday, with another 12 to 20 inches of snow on the way, I decided that we couldn't dig all that snow again, so the only option was to put the car on the street. The biggest problem with the plan was that the car could get KO'ed by a snow plow. And what about having to dig out once the snow plow packs snow along the side.


And then I came up with a cunning plan-- There is a crazy guy in the neighborhood who parks junked cars on the main street. Every thirty days the county tickets the cars and gives him five days to move them or they get towed. He moves them to a different part of the street, and the process repeats.

I dug out the area behind one of the junked cars, packed the snow down the form a ramp, and backed the car onto the curb. The nose is in far enough that the junker protects it. To move the car, all I have to clear is the front.

Diabolical.

Sunday, February 07, 2010

Snow Pictures, From Home

The last set of snow pictures were scenes of a lite snow, take on the DC commute. These pictures are of 26 inches of snow in my Maryland suburb.


Ivan the Dog did not think much of the snow, even though the neighborhood children had already trampled a path.


The car is not quite road ready.

Wednesday, February 03, 2010

Wednesday, January 27, 2010

BASH Press Enter Countdown Timer

Here's a little script snippet that displays a countdown timer and determines if the user pressed Enter. If the user does nothing, this returns 1, if the user presses Enter, it returns 2. Ultimately, we would fork based upon the action.
#!/bin/bash

for J in `seq 10 -1 1`; do K=1; echo -n "$J ";
  read -t 1 K
  if [ "$K" != 1 ]; then
    K=2; break
  fi
done

echo $K
Alternately, the user could press [Ctrl][C], in which case the script terminates.

Tuesday, December 29, 2009

Amazon API Perl Modules

I'm a Perl novice, having only used it for about eight years. As a result, when I needed to add some Amazon modules to my Perl stack for integration with the AWS API, I was at a loss. Once I extracted that zip, here's what worked:
cd /usr/local/src/amazon-*-perl-library
ls
ReadMe.html     src
cd src; ls
Amazon
cp -ar Amazon /usr/local/lib/perl5/site_perl/*
# test it
perl -MAmazon::SimpleDB::Client -e 1
In this case, no output is good.

I tried to get ::VERSION to work, but it gave a blank line. Guess that command only works if you've used Perl for ten years.

More XenServer Paravirt Adventures

While working with someone else about running Linux under Citrix Xenserver 5, I ran across an interesting paradox. Daniel points out that the ability to run Linux as a DomU has been moved into the kernel, no longer requiring the kernel-xen RPM.

Yet, when I tried to install F11, on XenServer as a paravirt VM using the "CentOS 5.3 x64" template, it failed. When I clicked the Logs tab in XenCenter, I got:
Unable to access a required file in the the specified repository:
file:///xxxyyyzzz/images/xen/vmlinuz
The template is expecting the standard install image format.

Tried a few other templates with the same result. The only way I was able to get it to run was by installing using "Other install media", which meant it was running HVM.

The paradoxical part of this, is that Fedora implies that it can be done, yet when attempted on a Fedora Xen Dom0, an F11 paravirt VM fails:
libvir: Xen error : Domain not found:
    xenUnifiedDomainLookupByUUID
Invalid URL location given: [Errno 14] HTTP Error 404
In a way, its the message XenServer threw: I can't find the specially compiled paravirt kernel.

My guess at this point is that there has to be a new installer that understands how to use the newly compile options. Looks like there is some more research to be done. Stay tuned.

I'm Not Allowed to Innovate

If an innovation falls in the forest, and there are no managers around to approve it, does it cause any change?

Kagan's answer:
Only if it crushes small bunnies.

Saturday, December 26, 2009

Citrix XenDesktop Express

Citrix finally released the evaluation product for XenDesktop 4, with a free Express edition for ten users. Before downloading, watch the introductory video, then come back here, to find out that for 87.3% of you the product will be unusable.

Forty seconds into the video, the narrator announces that the download "includes everything you need for a basic environment". BRAAAAAM! Wrong: You need at least one Windows Server 2003 licenses, and a functioning Microsoft Active Directory Controller. (Which is a second 2003 license... but who's counting.)

A significant disappointment, as I had hoped this could be a tool used by a small mobile work force. Instead, the Express product is completely useless. If an organization has MS Server and AD, they need that full version, not the express.

I guess that's four hours wasted.