Archive for May, 2007

It’s not enough to be loud…you have to suck too.

Apparently since twitter set the bar so low for working applications…celly decided it didn’t matter that their main page returns undefined.

I always have been a sucker for a smock

A cute dental assistant at my dentists office the other day talked me into getting a OralB Sonic Complete. At 90 dollars, it’s a little pricy, but I do like the way it makes my teeth feel.

Mythtv “Adding Channels” wtf

I reinstalled my myth box, and when the mythfilldatabase was running it named each channel

Adding Channel $channel_number

To fix that, run it again like so:


mythfilldatabase --do-channel-updates

Ubuntu, ssh, known_hosts, tab completion

I have to look this up from time to time, putting it here.

On Ubuntu, they have ‘HashKnownHosts yes’ set by default in /etc/ssh_config. This is annoying if you want to use bash completion to tab complete host names for ssh. Change that to no, and you are all set.

It sees you

Linux KVM

KVM support for Linux is now available in most kernels. Ubuntu is no exception. After realizing my core duo had the vmx extensions necessary to run KVM, I decided to try it.

I had to upgrade my bios, then dig around a little to find the virtualization stuff in it. Then turn it on.

After that I just followed the directions at the link above and installed Debian to a vm.

Who loves you?

I have almost a years worth of traffic in one Apache access log. I am grepping around on it and thought this was interesting:


Sun May 06 | 06:53:59 | bignate@nimrod | logs |
$: cat access_log | grep -i googlebot | wc -l
13306
Sun May 06 | 06:54:22 | bignate@nimrod | logs |
$: cat access_log | grep -i yahoo | wc -l
27683
Sun May 06 | 06:54:32 | bignate@nimrod | logs |
$: cat access_log | grep msnbot | wc -l
36033

Microsoft, LOVES nathanpowell.org.

String as class name in Ruby

Ok, so this is pretty flippin sweet. I have been messing around with the client code for the monitoring app I am writing and I did some pretty wicked shit tonite.

The monitoring app needs to have some classes that are somewhat independent of the services that are being monitored. Basically I have a services class, that examines a directory, then takes each file in that directory (which each contain a class for the service they are supposed to be monitoring) and creates a new instance and calls the ‘run’ method on it (I made that part up…I figured if each class implemented a run method, that would make life easier…but one could just use initialize…but that is easy to misspell).

The file name has to be similar to the class name that it contains. In the case of ssh, ’ssh.rb’ contains ‘class Ssh’. So we need to take the file name, cap the first letter, and create a new instance, and call it’s run method.


class Services
  def run
    Dir.open('../services/').each do |dir|
      dir.each do |file|
        if file.match('.rb$')
          require '../services/' + file
          klass = file.capitalize.gsub(/.rb$/, '')
          inst = Kernel.const_get(klass).new
          inst.run
        end
      end
    end
  end
end

Except for the staircase of ‘end’s I think that is pretty sweet. I may see something I can do a little different (better) after I synthesize it a bit, but it works pretty well.

More buzzwords than you can shake a stick at!

Err the blog has an interesting post on Behavior Driven Development. Take a look at it. Go ahead…I’ll wait.

Back? Ok, so from what I see there I like it. I think I will write some tests for the code I am working on and see if it holds up in the real world.

Within reach

I am pretty close to cracking a 30 min 3 miler. This morning, even though I was saving some for some labor I have do today, I came up about 1/8th of a mile short. Not to mention I wasn’t really trying to reach that.

I went out for an early morning run and took off at a pretty good pace. I figured I’d let my legs make the decisions early, and then let the lugs decide as the run went on. Turns out the legs and lungs were pretty much in sync today. First two mile in less than 21 minutes, and the last 7/8thsish mile in 9. I was pretty pumped to see such an improvement in my times.

At some point just going running isn’t going to make me faster, everything is finite, but until then, today was a nice change.

« Previous PageNext Page »