So, two full weeks have now passed since starting my new job
at Google. It's a very
interesting experience, and culturally worlds apart from my
previous employer, Linuxcare. It will take
me a while to get used to working in an environment where
the intellectual property is considered essential business
leverage
and not an abomination, where all company information is
treated as privileged and confidential, and where inventions
are patented, not released for incremental improvement. I
guess this explains why my best efforts to find any of my
new colleagues on Advogato turn up blank.
Right now, I feel rather useless in my job. I'm a sysadmin
with very little clue how each piece of the infrastructural
puzzle fits together to make the whole. I already have
business cards and a cell phone, but am not yet
self-sufficient in my work. These things take time. No doubt
I will one day yearn for my erstwhile empty plate and lack
of responsibility.
So, what else is going on?
Well, Sarah and I are moving to Palo Alto this coming
Thursday. That will place me within healthy biking distance
of work (Sarah will be a lot further away, since she still
works in San Francisco) and give us a much roomier apartment
with lots of daylight, a swimming pool, etc. I won't be sad
to leave the dinginess of our current apartment behind.
We'll be getting a lot more for our hard-earned cash in Palo
Alto.
The day after that, Sarah and I fly to England for two weeks
of holiday fun in London, Cornwall and the Isles of Scilly.
I can't wait.
hacker seems to have come up with exactly
the same basic CVS completion routine for bash that I wrote
and that is included in the source distribution of bash
2.05, as well as on the Linuxcare BBC.
Incidentally, bash 2.05 improves the completion facility
significantly with the addition of the -o parameter
to complete. So, if you need CVS completion in bash
2.05, use this instead:
_cvs()
{
local cur prev
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
if [ $COMP_CWORD -eq 1 ] || [[ "$prev" == -* ]]; then
COMPREPLY=( $( compgen -W 'add admin \
checkout commit diff \
export history import log \
rdiff release remove rtag \
status tag update' $cur ))
fi
return 0
}
complete -F _cvs -o default cvs
This is as basic as it gets, since there's no attention paid
to any switches, but it does cover a great many cases of
basic CVS operation. If someone could extend this to cover
all of the cases, as I have done for rpm, that
would be great.
Since joining Google,
I've added p4 (Perforce) completion and intend to
extend my iptables and tcpdump completion
routines when time allows.
Anyway, I need to get packing, or we won't be ready for our
move on Thursday.