Biography, Technical, Technology

November, 2010

Link: https://dannyman.toldme.com/2010/12/01/november-2010/

Monday, November 1

Potentially nifty: a text-to-speech utility that writes its output to an audio device, which you could set as your system’s sound input. This way you could have “conversations” in your headphones via VoIP or Skype without having to make disruptive noises or emitting sensitive information in a shared environment like an open office or a library.


sudo apt-get install epos
sudo /etc/init.d/epos start
say "this does not work"
sudo apt-get remove epos

sudo apt-get install espeak
espeak "hello there"

But it appears there is no good way on Linux, anyway, to tell a command to dump its audio output to the microphone. Bah.

Wednesday, November 3

I got my sutures out the other day. I’ve still got the band-aid on my chin, cleaning and re-dressing twice a day, until the skin is no longer broken. Doc said I’d be shaving regular next week.

Thursday, November 4

Nice: I got the WordPress for Android App working thanks to Dan at Automattic pointing out I had an SVN-corrupted xmlrpc.php file.

Annoying: No idea how I can possibly type < or > with this nice-but-crippled G2 keyboard.

I made it up to San Bruno today, aboard Caltrain. Today is the first time I took my bike on Caltrain and it really wasn’t as bad as a colleague made it sound. The yellow tags are impossible to find though, so I made a couple labels to stick on my bike indicating what stations I ride between. In San Bruno, I stopped at the curb where I face-planted last week. Nothing special about it. I got to the office way faster than I have by walking. Probably 20 minutes compressed to 5 or not more than 10. The only unpleasant part is crossing El Camino. The crossing I chose had a crosswalk on only one side, so I had to cross against traffic to get rolling across the street.

Friday, November 5

Well, I finally have a new watch band . . . my old one broke such that it would no longer attach to my wrist, but I could dangle it off my belt. Now I have to get used to looking at my wrist again.

Monday, November 8

Some days I just feel blue. Like a dark cloud is over my heart. Not unlike overcast weather. Fortunately I often have the self-awareness to understand that, whether or not I know its origin, this is likely just a passing cloud, and the best way to weather it is to just take life on as a normal day, perhaps with an added dash of industriousness to stave off the natural slothitude that a funk brings on.

Just bought an mp3 on Amazon.com. Thanks, Bruce, for the pick-me-up.

I was just reading in The New Yorker about different ways that salaries are determined. I identified with having accepted the “authority ranking” or feudal model earlier in my career, when what I valued most was the opportunity to work, to serve and build and learn. Back when I still kind of hoped that wages were fair, that bosses valued the contribution of their employees. Back in 1999 this even seemed true: the startup I was working for noticed that I was kicking butt, and ramped my salary up by 20% after my first six months on the job, and again after a year . . . everything was noble and virtuous.

But nobility and virtue don’t often last. Recessions hit, money dries up, eager young employees burn themselves out and haven’t a clue what to do about it. Layoffs come . . . a decade later I have left for greener pastures as many times as I have been layed off. Welcome to the “market pricing” model of economic interaction.

I find some difficulty feeling passionate about being a market priced, employment-at-will agent. Just as sex feels better with someone you love than when you’re getting paid for it, so too does work. Fortunately, the current gig offers competetive compensation, likely stability, and the chance to relate to coworkers over several years. I guess that is as close to “married” one can get in our industry . . . and yet of course I keep my eye out for new opportunities.

And I frequently worry about getting too comfortable, getting a little flabby in the skill set because there is plenty of work I would have to do at a startup that is off-my-plate at a large company. Better attain depth where I needn’t worry over breadth, eh?

Thursday, November 11

I had a meeting today that I haven’t been looking forward to. Basically, I have spent most of my career at smaller companies, where I tend to have a lot more say over how we do things, and where the simple, obvious, light-weight solution will tend to carry the day. But at a large company, there are enough competing interests that the way we do things is often not up to me, and is far more complex and open to error (in my view) than how I would go about doing it.

Note an editorial bias, right? Of course I have a high opinion of my own way of solving a problem. Doesn’t mean my approach is the right one . . .

So, at the end of this meeting, I got McCoy in my head. “I’m just a simple country Doctor.” Well, I’m just a small-shop sysadmin, serving on a corporate flagship. I don’t really understand or approve of everything that is going on, but that isn’t my problem. I focus on getting my own job done and I am happy to give Captain Kirk a piece of my mind, but at the end of the day the Captain gets what the Captain asked for.

A Simple Country Doctor

Wednesday, November 17

From today’s work log:

Scout around a bit as to the advantages of managing system configuration
files in git. Git’s strength appears to be strong branch and merge
capabilities, working offline from the central repository, and the
capacity for fine-grained commits. Disadvantage is a steeper learning
curve. Anyway, we could potentially allow staff to grab a local branch
make several changes, review changes and reject those that proved
infeasible, then submit changes back to the central repository. Later,
a change management team could review differences between the central
repository and the stage / production repositories, then selectively
merge changes to the more stable environments in an appropriate manner.

I had lunch with Mei today at a Chinese place on Castro St in Mountain View. At the next table I overheard some guys talking about the size of the Oort Cloud if Earth were the size of a grain of sand . . . hard-core nerdy lunch conversation. I recounted that when I got off the light rail the other day I heard one guy explaining to another guy the theory behind anti-matter reactions that power the warp propulsion system in Star Trek. When you live here you live in the pulsing underbelly heart of nerd-dom. I kind of like it.

Thursday, November 18

My bicycle lights came in from Amazon.com and I tried them out yesterday on the ride to the light rail. (Between the weather and a recent injury I’m usually reluctant to ride all the way to work.) The front light was somewhat occluded by the basket so last night I moved it to a helmet mount, which required some careful trimming of a cross-member atop the helmet so the thing would fit, but nothing likely to compromise structural integrity.

Yesterday I also received my replacement G2. I got it up and running and it went and updated itself. It made a big todo about “wifi calling” which . . . uses minutes? Really? REALLY?! So, I’ll provide the bandwidth and you’ll charge me . . . but it also quietly enabled Tethering, via USB and WiFi. I’m using it now. I heard a rumor that T-Mobile was fixing to charge an extra fee for tethering. Hopefully though at the moment they’re content to charge customers to make telephone calls via their home wifi networks.

(Oh yeah, and I’m on the light rail at the moment, though updating a blog is hardly much of a test of tethering.)

I wish I wish that carriers would simply figure out a monetary equivalence between bandwidth and minutes, then just let me pay a transparent rate for what I use. Eventually I guess someone will drop the shenanigans and attract customers like me. As it is I’m miffed that I pay more per month for a calling plan I rarely use than I do for the data surcharge, which as far as I am concerned is the primary point of carrying around a location-aware pocket computer.

Telephone calls? Not my thing.

Later, I was looking at Google’s announcement regarding improved navigation UI. The improved transit overview is nice, but then I happened to request the bike route between work and home, and now that Google has caught on that the Bay Trail North of Moffett is open, it suggests that at the first choice, despite it taking ten minutes longer than more direct options. Anyway, it is nice to know now that my bicycle commute is 11.6 miles in 56 minutes. (I think it takes me a bit longer as I usually take a little break along the way.)

Bicycle Commute North of Moffett

Saturday, November 20

Learned some basic git, and used it for updating the web site.

Installation to more-current-version of git:

sudo yum install gettext-devel expat-devel curl-devel zlib-devel openssl-devel
git clone git://git.kernel.org/pub/scm/git/git.git
cd git
make install

(Update path to include $HOME/bin . . .)

Using git:

git init
git add .
git config user.email dannyman@toldme.com
git config user.name "Danny Howard"
git branch somefeature
git checkout somefeature

(Edit files . . . test . . .)

git diff
git add changed files
git commit
git checkout master
git merge somefeature
git branch -d somefeature
git log

The big thing being it is trivial to create branches and switch among them in your working directory. So, you can start working on some feature, put it on the shelf, work on a different feature, and basically submit only the changes you feel are baked back to the main line.

Feedback Welcome


Which Perl Modules are Missing?

Link: https://dannyman.toldme.com/2010/12/01/list-missing-perl-dependencies/

Q: How to list which Perl modules may be missing from a script?

A: cat <name-of-script> | awk '$1 == "use" {print "perl -e \"use "$2"\" 2> /dev/null || echo "$2}' | sh

Q: Er, so, can I auto-install?

A: Well, I prefer to rely on the packaging services of the local OS, but in a pinch this ought to work mostly:

cat <name-of-script> | awk '$1 == "use" {print "perl -e \"use "$2"\" 2> /dev/null || cpan -i "$2}' | sh

Also useful for tracking down dependencies: I was reminded that for FreeBSD, what I would wish to call pkg_which is pkg_info -W, which will tell you what package a file came from.

Feedback Welcome

Technical, Technology

A wiki feature I would like to see . . .

Link: https://dannyman.toldme.com/2010/12/01/wiki-feature-node-audit/

A wiki feature I would like to see: when a node has not been edited for a certain period of time, it sends a message to the author and contributors, to review the node for relevance, and update or delete the node, if appropriate. The period of time should be configurable, and the feature should be able to CC the message in to the local request management system.

The check should be repeated on multiples of the period of time. For example, if you want to review your nodes once per year, the first year comes, the author reviews the node, sees no need to make any changes, then another year passes, you get a reminder to take another looksee . . .

This would be useful especially for an operations environment, to ensure that the shared knowledge hasn’t gone too stale, keeping the wiki resource relevant. I sincerely hope this feature already exists in a few systems!

1 Comment

Technical, Technology

Virtualization: Blessing or Curse?

Link: https://dannyman.toldme.com/2010/12/02/virtualization-blessing-or-curse/

I saw this float across my Google Reader yesterday, thanks to Tom Limoncelli. If you are a sysadmin in an environment fixing to do more virtualization, it is well worth a skim:

Virtualization: Blessing or Curse?

NOTE: this isn’t an anti-virtualization rant, more of a “things to watch out for” briefing.

Some of my take-aways:

Ah, the other thing noteworthy there is the ACM Queue magazine is now including articles on systems administration. (I subscribed to the system administration feed.)

Feedback Welcome

Technical, Technology, Testimonials

Southwest WiFi and Net Neutrality

Link: https://dannyman.toldme.com/2010/12/23/swa-yahoo-being-evil/

Good news! Southwest Airlines offers wifi on my flight! Only $5 introductory price! I have to try this out!

The service is “designed by Yahoo!”

It is kind of really really slow to make connections.

Wait . . . WTF is this?!!

Southwest Header Injection

Yup. Southwest Airlines wifi does HTTP session hijacking to inject content in to your web pages.

This is a perfect illustration of the need for net neutrality: your Internet Service Provider should not interfere with your ability to surf web pages. This would be comparable to your phone company interrupting your telephone calls with commercials. Outrageous! Wrong! Bad!!

(On Mei’s computer there are actual ads in the blue bar on top, but my AdBlock plugin filters those.)

It gets worse from there. On the “designed by Yahoo!” experience you can surf on over to Yahoo! just fine. But I’m a Google man. Here’s what Google looks like:

You Can't Get There From Here

Work-around #1: On sites that support them, use HTTPS URLs. Those are encrypted, so they can’t be hijacked. So, where http://www.google.com/ fails, https://www.google.com/ gets through!

But my little WordPress blog lacks fancy-pants HTTPS. And the session hijacking breaks my ability to post.

Work-around #2: If you have a remote shell account, a simple ssh -D 8080 will set up a SOCKS proxy, and you can tell your web browser to use SOCKS proxy localhost:8080 . . . now you are routing through an encrypted connection: no hijacking!

Update: they charge is $5/segment, so $10 if your plane stops in Las Vegas, and you get to type your credit card number a second time. Though, on the second segment, Google loads okay, but I still had to route through the proxy because the magic header was blocking WordPress’ media interface.

Update: holy packet loss, Batman!

0-20:20 dannhowa@dannhowa-w510 ~$ ping -qc 10 www.yahoo.com
PING any-fp.wa1.b.yahoo.com ( 56(84) bytes of data.

--- any-fp.wa1.b.yahoo.com ping statistics ---
10 packets transmitted, 8 received, 20% packet loss, time 10011ms
rtt min/avg/max/mdev = 805.813/1669.936/3452.445/936.527 ms, pipe 4
0-20:21 dannhowa@dannhowa-w510 ~$ ping -qc 10 www.google.com
PING www.l.google.com ( 56(84) bytes of data.

--- www.l.google.com ping statistics ---
10 packets transmitted, 6 received, 40% packet loss, time 11460ms
rtt min/avg/max/mdev = 661.391/2203.774/4022.638/1383.736 ms, pipe 5

At least they aren’t discriminating at the packet level.

Update: it sucked less later on, but still incredible latency:

0-21:07 dannhowa@dannhowa-w510 ~$ ping -qc 10 www.yahoo.com && ping -qc 10 www.google.com
PING any-fp.wa1.b.yahoo.com ( 56(84) bytes of data.

--- any-fp.wa1.b.yahoo.com ping statistics ---
10 packets transmitted, 8 received, 20% packet loss, time 8998ms
rtt min/avg/max/mdev = 699.470/1023.412/2003.447/481.359 ms, pipe 3
PING www.l.google.com ( 56(84) bytes of data.

--- www.l.google.com ping statistics ---
10 packets transmitted, 8 received, 20% packet loss, time 9003ms
rtt min/avg/max/mdev = 690.500/1201.541/2052.341/483.891 ms, pipe 3

The Gogo Wireless on Virgin America always worked way better than this, and Google covers the cost over the holidays. And as far as I know: no session hijacking!


News and Reaction, Sundry, Technical, Technology

When Supernodes Go Bust . . .

Link: https://dannyman.toldme.com/2010/12/30/skype-failure-as-economic-parable/

Edison stock ticker

Several leading institutions fail, leading consumers to a rush on the remaining institutions, causing them to fail. A cascade of failures brings the whole system crashing down until the central authority undertakes a massive, unprecedented intervention to bring the system back to normal. At first, the degree of central intervention required is underestimated, but in time sufficient resources are brought to bear and the complex system recovers.

In the space of twenty-four hours.

Interestingly, Skype’s network is actually a peer-to-peer network. It is a complex system which normally proves highly resilient, with in-built safety mechanisms to contain failure and ensure reliability. But under the right circumstances, failure can cascade. I couldn’t help but read that as a metaphor for free-market economics, which can usually take care of itself, but will enter a fugue state often enough to require a strong authority to intervene and put it right.

As a SysAdmin, the Skype network sounds like a very interesting beast. I figure that an action item against a future failure might be to provide a “central reserve bank” that monitors the health of so-called supernodes and automatically fires up large numbers of the dedicated mega-supernodes in the event of a widespread failure. (And such a strategy could well exacerbate some other unanticipated failure mode.)

1 Comment

Arrr! . . . Avast!
Site Archive