Archive for February, 2008

I can type my name again!

Wednesday, February 27th, 2008

So Joe’s Macbook Pro had it’s battery explode in the machine. I took pictures of it, it looks funny. Now, usually this is a bad thing because now he loses his computer until it gets fixed. Well, Apple has to replace the whole machine and, well, kinda a little while back, my ‘T’ key on _my_ macbook pro fell off. I never managed to get a new one, but now that Joe’s comp is basically kaput, we harvested his T key. Woot! Now I can type my name again :p

Well, another thing happened today and it made me angry. I use splunk and I was going back and forth on a support ticket with them. Ultimately it came to needing log files, so I uploaded them in what I figured would be a funny manner. After all, a company that does this in their product, you would imagine, can take a joke.

Well, I uploaded a folder to their sftp server called Be.Kind.Rewind.2008.CAM.XVID-JACKBLACK. Then proceeded to fill it with par’s, rar’s an NFO and file_id.diz file. Basically I was going to mimic a warez/cam drop. Well, I did the deed, uploaded my log files rar’d and par’d, and got email back from support asking “What’s going on here? Are these log files”

Ugh, killed the joke.

So after I explained it to them, and they backpedaled on understanding the joke, everything was kosher, but I still needed to re-upload the zipped log file in a more understandable name. *sigh* oh well, guess the apple’s at splunk fall pretty far from the development tree.

In any event, I still like splunk, and I’d still vouch for their high quality product and enjoyable employees. It just kinda soured my day.

Wasn’t Meant to Be

Friday, February 22nd, 2008

The netflow app I developed at work finally works…oh wait, no the system just crashed, damn.

Seriously, this whole week has been, more or less, bad. It started with Joe coming back from furlough, progressed to netflow app not being done, moved to app finally being ready for testing, and then ended with system after system failing as I moved the app from one to the other *sigh*

The whole series of events has been rather spectacular and speaks volumes of the need for quality documentation. If I hadn’t been documenting the installation process for this app, I’d be up a creek without a paddle. It’s a convoluted install due to it’s use of kerberos in our environment. It also has a lot of moving pieces. I don’t think it’s something that you could just stick in an RPM and say “here, knock yourself out”

Furlough has really made things rather miserable. I need to have some hardware purchased, but the guy that does the purchasing is, of course, on furlough. So all of that gets put off for a week. I want to fix 3 of our scanner farm nodes, but the guy who supports that is on furlough next week, so god forbid something breaks…because we can’t call him in. So that gets put off for a week. And then of course it won’t be accomplished on the week after he gets back….because that’s when I’m on furlough. See how this shit just throws things out of whack?

Well, I’ve managed to find another machine in our racks that I can dedicate to the netflow app, but it doesn’t have SATA ports (figures) so I’m instead using this (literally) no name SATA card to add said functionality. Where did I go wrong in life? Why do work and computers hate me so much?

So let’s see how this new machine goes. I’ve gotta be optimistic about this one since it’s one of my babies (the others weren’t). It’s going to lead me to victory!

It’s Here

Thursday, February 21st, 2008

Here’s the recipe for Breakfast Casserole. Enjoy

1 pound ground pork sausage

1 pound bacon (I use regular, as opposed to turkey)

1 (28-ounce) package frozen country-style hash browns, thawed

2 cups (8 ounces) shredded sharp cheddar cheese

12 large eggs, lightly beaten

1 cup milk

3 teaspoons salt

2 teaspoon pepper

1/2 teaspoon dry mustard

Cook sausage in a medium nonstick skillet until it crumbles and is no longer pink. Drain and pat dry with paper towels.

Drain water from hash browns and place hash browns in a lightly greased (Pam) 6-quart slow cooker. Spoon sausage over hash browns ; sprinkle with cheese.

Whisk together eggs and remaining 4 ingredients; pour over cheese.

Cover and cook on LOW 3 hours.Over the last hour, stir every 15 minutes or so to make it less gooey.

30 minutes before it’s finished, cook up the bacon in a skillet until it is crispy. Pat dry with paper towels and tear apart, placing in slow cooker. Eyeball the size of the pieces you break apart. Whatever seems a size that you’d want to eat.

After the 4 hours are up, uncover and let stand 15 minutes. Makes 6 to 8 servings.

There.

When I mix it every 15 minutes or so for the last hour I just keep letting the time tick by until it looks like something I want to eat (not mushy, a bit dry, you be the judge).

Enjoy

What? Tomorrow’s Thursday?

Wednesday, February 20th, 2008

*head explodes*

Seriously though, to those who asked for the Breakfast Casserole, I really am going to post it here so you can consume it’s deliciousness too. This week has been mad busy though and Joe has been a grumpy Guss because he was dropped too many times as a child or something.

He’s been on my case about something, and the only thing I can think of is that he is mistaking me for Frank. Like maybe when he looks at me, he instead sees Frank or something. I dunno. So he’s made my week bad. And then as of today I _finally_ figured out the massive bottleneck in the netflow DB app (it was the indexes) so with that fixed I subsequently filled up the entire disk; way to go Tim.

Back to using babar tomorrow though because Ron is on furlough and he’s the only person in our group that can spend money for our group (aka we have no money right now) so no sleds or power supplies for me.

I’m supposed to get a phone call from someone tomorrow, but I’m not sure if they’ll be calling me at work or at home or my cell or what.

I participated in a career expo today and my booth was by far the best. I had students walking up and asking me questions all night. The education center people asked if I’d like to do this (speaking) on a more frequent basis. I told them sure because I like doing it. We’ll see how that turns out.

Going back to Ft. Wayne the first week of March to…how’d you guess…speak! Also going to go up north and give the finger to the world as I relax in my friend’s cabin. Hello furlough. (say it like the “hello moto” guy)

New Recipe

Sunday, February 17th, 2008

Oh boy, I have come across an excellent new recipe and officially deemed it a “Tim’s World Famous” recipe. I found it in my slow cooker cookbook and remembered back to when my stepmom made something similar to it (or so I thought). so I gave it a shot.

Tim’s World Famous Breakfast Casserole is the new creation. It’s kinda easy to make. The worst part is dealing with the grease generating foods. Grease is just annoying to deal with in the first place though. Once you get past those steps, it all goes in the slow cooker and voila.

Oh bother

Friday, February 15th, 2008

This is my last day to have the office all to myself. Joe comes back on Monday (oh no! hide! j/k) … … …wait a second, “j/k” … … oh … my … god I just reconsidered what that could mean. Joe! j/k Joe! Get it? It’s you! j/k hahahahahahahaha

Inside joke if anyone is confused.

So I made an iPod Touch interface for nessquik :-P . useless? Yes. Likely to get me praise? Yes. hehe. It just seemed like one of those fun things to do. I’m looking around for good documentation on how to to write iPod Touch apps. The Apple docs are too wordy and don’t show enough example code. Maybe I just haven’t looked into it far enough though.

My last duty as Zerg Overlord today then is to get either dumbo or babar running again. Something really hosed the database partition on babar, and now the machine kernel panics every time you fsck the drive : ) We’re going to try the virtual machine route with dumbo and see if that helps. The VM server is a bit more resilient than the old farm node babar.

Panda Z

Thursday, February 14th, 2008

Besides being a great tv show, it’s also the name of my ipod touch. Yes, ipod touch ftw. It’s worth it, I assure you.

So I was reading a blog that I found in d-zone the other day talking about how git should be the next big unix tool, and it got me thinking. In my group at work we needed a revision control system for our various system config files. We had a couple requirements that had to be met though.

  • needed to support kerberos natively
  • be dead simple to add new files
  • be dead simple to commit changes
  • be nearly completely automated
  • needs to be super way simple to set up
  • needs to be able to scale bit, just in case
  • recovery of b0rked files or blown up systems needs to be chuck norris easy

Well, originally I had thought let’s try putting our files in CVS. But then I said “ehh, but the subversion folks always give CVS grief for not being an adequate version control system”.

  • I know CVS can support kerberos, but it takes too much headache to set up.
  • You’ve got to export environment variables to use SSH (see CVS_RSH)
  • Screwing around with CVSROOT is a pain in the ass. Seriously. But it’s lauded as one of those things that makes it easier to check stuff out with because you avoid the mindless violence that is involved with the raw cvs command.
  • Considered inadequate by many because of all the reasons shown here
  • I don’t think it can scale

Next, I thought “well, ok, can subversion do what I want”? I have quite a bit of experience with subversion because I use it for all my code versioning needs. I wasn’t quite sure if it (or I) was up to the task of setting it up though. Remember that in addition to usage and all that, other people in my group need to be able to set this software up or admin it. Let’s just say my group at work shys away from “responsibility” and “complexity” : P so if it’s too complicated for them, they’re going to be screwed if I get hit by a bus.

Subversion (at least as I use it) revolves around apache. Yes, I know that one can set it up to do the whole SSH bit, but I’ve never gone down that road because subversion also has convoluted black magic commands to accomplish the goal.

Well, so now I was in a pickle. When along came this article and git. So I downloaded it to a server and putz’d with it for about 3 or 4 hours. Got frustrated. Went home. Putz’d into the evening. Came back the next day and had the solution ready to go. And it’s awesome. Freaking awesome.

At work we call it “oobi” (named after the cartoon). It’s not really a new CST software project (god I don’t need any more of those). Instead, it’s a way of using git for version control.

oobi acts like a developer who’s collaborating with N other developers on a software project. These N developers make code (config files) and change code (the same config files). All these developers also use git and maintain their own repos on their computers. These developers commit changes to their repositories and oobi pulls changes from them to him. It’s instant version control…of anything on your filesystem.

We have N servers, and we have oobi; all run git. oobi clone’s each machine’s repo. We make changes to the git repos on the local servers and then oobi pulls from all the machines at the top of the hour.

So you might be asking why is git, in this scenario, so great.

  • native kerberos authentication via ssh
  • distributed and scales
  • Easy cloning and pulling
  • Easier recovery

Since git uses ssh by default to pull and push and clone it’s way around the universe, this means that it naturally can just use kerberos! Woot! So what we do is have a special principal that can go to our machines. We store him in a keytab and just like that, you’ve got perfect authentication and no risk of compromise via interactive login.

It scales. We don’t have a huge number of machines, but I figure we’ll gradually get more and more and more.

So you want to know how simple it is to start versioning a new system? Check this out. (The only assumption I’m making is that you’ve added the oobi principal to your root .k5login)

On the system to version, as root

  • cd /
  • git init
  • git add path/to/my/file
  • git commit -m “Initial import”

And then on oobi as the git user

  • git clone ssh://myserver.domain.org/

Done.

The small amount of coding that was done for oobi is just some shell scripts that run via cron to do a “git pull” for all the repos that currently exist.

Now, what if you want to recover? Well, say your system bombs. You rebuild it, and you re-install git. Then you do the following

  • git clone ssh://git@oobi/home/git/myserver.domain.org/

This gives you a directory called myserver.domain.org in your current directory. If you look inside it, you’ll see stuff like this.

  • etc/
  • opt/

hehe, I think you know where I’m going with this. To recover your system you do this.

  • cd myserver.domain.org
  • cp * -r /
  • mv .git /

Done. Restart your services.

Even better, check this out. When you moved that .git directory in the last step, you also instantly reconfigured the system to be in the pull loop that oobi does every hour! Also, your entire revision history and logs for commits are instantly available on your new system, and you can even recover an old version of the file!

Surely you’re not serious.

Yes I’m serious. And don’t call me Shirley.

So yeah, git rules. It’s made the problem of versioning configs (or anything for that matter) completely moot. So get out there and oobify your servers. If you’d like to see how we apply it to our environment, hit me up and I’d be happy to show you what you need to do.

Pillsbury Snow Camel

Monday, February 11th, 2008

*sigh* it’s cold and windy. It was so windy the other day that the down-spouts on my house were like violently shaking. Violently as in shaking the whole house :p

They were loud too. To the point where you couldn’t sleep, so I just did the next best thing and stayed up until I just naturally fell asleep from exhaustion : )

Econ for you

Friday, February 8th, 2008

I listen to a lot of talk radio and am a fan of economics. Kinda recently former president Clinton was quoted as saying something along the lines of “we need a slow down in the economy”. Now, he said it in the context of “to stop global warming”, but, when I heard this, I immediately thought

“Give me a break! A slowdown…ANY slowdown…means my investments are going to start falling!”

But stick with me for a moment here and let’s think about why an economic slowdown…to recover the economy, might not be so terrible. The following excerpt comes from the book “Against the Gods. The Remarkable Story of Risk”. Read it carefully and understand what it’s saying, because it seems to explain the point he was getting at. Note that I’ve slightly modified the original style of the paragraph to make it easier to wrap your head around; bullets, bolding, italicizing, whatever, is all my doing.

Alan Blinder’s payoff matrix

Alan Blinder, a long-time member of the Princeton economics faculty, co-author of a popular economics textbook, and Vice Chairman of the Federal Reserve Board from 1994 to 1996, has provided an interesting example of game theory. The example appeared in a paper published in 1982. The subject was whether coordination is possible, or even desirable, between

  • monetary policy, which involves the control of short-term interest rates and the supply or money

and

  • fiscal policy, which involves the balance between federal government spending and tax revenue

The players in this game are,

  • the monetary authorities of the Federal Reserve System
  • the politicians who determine the mix between government psending and tax revenues

The Federal Reserve authorities perceive control of inflation as their primary responsibility, which makes them favor economic contraction over economic expansion. They serve long terms – fourteen years for members of the Board, and until retirement age for presidents of the Federal Reserve Banks – so they can act with a good deal of independence from political pressures.

The politicians, on the other hand, have to run regularly for election, which leads them to favor economic expansion over economic contraction.

The object of the game is for one player to force the other to make the unpleasant decisions.

The Fed would prefer to have tax revenues exceed spending rather than to have the government suffer a budget deficit. A budget surplus would tend to hold inflation in check, there by protecting the members of the Fed from being seen as the bad guys.

The politicians, who worry about being elected, would prefer the Fed to keep interest rates low and the money supply ample. That policy would stimulate business activity and employment and would relieve Congress and the President of the need to incur a budget deficit.

Neither side wants to do what the other side wants to do.

And there is your explanation! So, then a couple questions.

  1. With Bernanke lowering interest rates, and Congress passing an “economic stimulus package” who was the winner in the game?
  2. Is the value of the dollar low due to our “great” economy? Think about the value of a dollar in regard to inflation and fill in the blank. “It takes __________ dollars to buy the same number of products if inflation goes up”

And another thing that I can’t help but think back to in the book is the idea of “regressing to the mean”. The markets at 14k was pretty stellar, but the whole concept of regression to the mean suggests that that growth couldn’t possibly sustain itself.

So don’t feel depressed about the markets; it’s just how things work. And another thing. If the economy _is_ going downhill, think about what a great buying opportunity you have in the market. I’m not suggesting go out and put all your money on a couple of stocks, but just continue with normal investing; $100 – $200 into your stock options every month.

Ride the wave down and when we hit the bottom and recover, you’ll have those stocks sitting there waiting to earn you some scratch.

Panda Spots

Friday, February 8th, 2008

I find too much to read online.