I have to go to Florida to get to Ferndale

From Bellingham, there is there really no peering point in Qwest’s backbone to Comcast? It seems preposterous that I takes me 102ms to ping 11 miles. I wish I could brag about biking that fast. But at least I do not have to bike to Florida to get to Ferndale:

traceroute to firewall.candelatech.com (70.89.124.249), 30 hops max, 60 byte packets
1  gateway (192.168.45.1)  0.951 ms  0.703 ms  0.590 ms
2  tukw-dsl-gw66.tukw.qwest.net (63.231.10.66)  23.762 ms  23.282 ms  22.912 ms
3  tukw-agw1.inet.qwest.net (71.217.186.9)  22.525 ms  22.756 ms  22.992 ms
4  nap-edge-04.inet.qwest.net (67.14.29.166)  104.071 ms  104.336 ms  104.139 ms
5  65.122.166.78 (65.122.166.78)  105.126 ms  105.112 ms  106.764 ms
6  be-10-cr01.miami.fl.ibone.comcast.net (68.86.82.114)  106.921 ms be-13-cr01.miami.fl.ibone.comcast.net (68.86.82.126)  105.262 ms  104.893 ms
7  be-15-cr01.ashburn.va.ibone.comcast.net (68.86.84.221)  106.538 ms  107.032 ms  106.481 ms
8  he-0-12-0-0-cr01.losangeles.ca.ibone.comcast.net (68.86.86.117)  111.232 ms  110.836 ms  110.693 ms
9  he-2-8-0-0-cr01.sanjose.ca.ibone.comcast.net (68.86.86.97)  111.653 ms  109.401 ms  109.044 ms
10  68.86.93.30 (68.86.93.30)  106.729 ms  106.942 ms  107.967 ms
11  be-41-sur02.ferndale.wa.seattle.comcast.net (69.139.164.30)  110.153 ms  110.399 ms  110.225 ms
12  te-1-0-0-ten01.ferndale.wa.seattle.comcast.net (68.87.206.242)  116.914 ms  117.572 ms  117.213 ms
13  c-50-135-136-13.hsd1.wa.comcast.net (50.135.136.13)  127.260 ms  154.153 ms  157.281 ms
14  * * *

 

Backups: Using `find` Across a Panalopy of Directories

Linux Backups logo

Linux Backups

I love using the find command. In DOS, find is like grep. In Linux, find is the most powerful recursive DOS dir /s or Linux ls -r command you could ever put your saddle on.

One of the things you can do with find is to avoid directories, using the -prune switch. Like so:

find /usr/local -type d -a \( -name jre1.6.0_38 -prune -o -type d -print \)

Yeah, put your bike helmet on if you keep reading. That spat out a ton of gook. But was I lying? Well, grep out everything but what we should have pruned:

find /usr/local -type d -a \( -name jre1.6.0_38 -prune -o -type d -print \) | grep jre1.6

What if you have a series of subdirectories you want to include, but you cannot write enough -prune switches for them? This is a problem I frequently have. For instance, how do you exclude all your Firefox Cache directories, especially if you have multiple profiles? Great question.

I’d first use find to find all the directories I

do want to backup:

find /home/jed -maxdepth 4 -type d > /tmp/dirlist

Then you grep out things you really don’t want:

egrep -i "/cache|/Trash" /tmp/dirlist > /tmp/avoid

Then parse it into things you do want to find to avoid:

cat /tmp/avoid | while read F ; do echo " -path $F -o " ; done > /tmp/avoid2 ;
echo "-path ./asdf" >> /tmp/avoid2

Now we can refresh our list of directories to descend:

find . -xdev -depth -type d \( `cat /tmp/avoid2` \) -prune -o -print

If we want to turn that right into files, modify the last print statement to find files:

find . -xdev -depth -type d \( `cat /tmp/avoid2` \) -prune -o -type f -print

Now if you want to find the files more recently created than your last backup in /home/backup/monday.tgz, try this:

find . -xdev -depth -type d \( `cat /tmp/avoid2` \) -prune -o -type f -newer /home/backup/monday.tgz -print

Is that enough to make you cry? Chin up, think of all the disk space you’re saving, and how much faster a specific backup can occur. This means you can run backups every 15 minutes.

Standing Workstation 2012

I’ve been computing at a standing workstation since 2010, and since then I haven’t had my lower back bother me for a while. When beginning my new job at Candela Technologies, I got a new workstation and decided to build…eh…over-build an adjustable multi-monitor standing workstation. Turns out it looks a lot like a mining frame from the 19th century. Wish I had some brass parts, then it would be Steampunk.

I really did want to do the triple-portrait mode for my monitors, but while I’m sure I could have gotten some magic done with Xrandr, I did need to get to work, and the ATI driver would not correctly generate something that Java, XFCE, Gnome or Unity would display properly on. I took this into account when building the swing-arms, so I use it landscape mode.

ImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImage