May 2009 Archives

Vote No on everything today

| No Comments | No TrackBacks

I've previously written that I don't like the CA LP's reasoning on some of tomorrow's ballot measures. I still think their arguments are only appealing to hard line libertarians, but I've been persuaded by other arguments to vote against everything tomorrow, and I encourage you to do the same.

I was marginally in favor of the rainy day fund aspects of Prop 1A, but as you can see from the links in the comments on my earlier post, this is a fraud, a repeat of the equally pointless prop 58 that was supposed to solve all our problems only a few years ago.

I argued in favor of 1D and 1E in my earlier post, because they could, in theory, have helped prevent tax hikes. But the Reason Foundation's analysis has another take on it that I found much more persuasive. Even assuming 1D and 1E can offer short term relief (as I did), they are dangerous because they offer an underhanded technique to grow state spending. First, the taxpayers are duped into supporting an initiative to provide mental health services, or pay for idiotic anti-smoking commercials. Next, once California's public employee unions induce another budget crisis, you cut the programs and transfer the money into the general fund.

I don't think the original supporters of the initiatives that established these programs intended it to be used in this manner, but it would set a dangerous precedent.

I'd even like to see 1F, the "no raises while the budget isn't balanced" measure fail. It would be good to send a message that the con games are over.

Who are these "social media experts"?

| No Comments | No TrackBacks
I'm following twitter closely tonight to see how the American Idol prediction got picked up. And what I don't understand is who are all these people who are retweeting it? They don't seem like real accounts. Or at least, not accounts that anyone who actually read twitter would be interested in following. If you search twitter for Biz360 Analysis of Social Media you see hundreds of tweets, all identical. What's even more interesting is if you click through to the people sending these out. I've clicked into about 10, and without exception, they follow this pattern:

  • Have "social media expert" or something similar in their bio.
  • Have fewer followers than following
  • Are following a huge number of people
  • Send out tons of tweets
  • Have nothing of value to say
Let's take a look at @SocialMediaWonk and his tweets. As of right now, he is following almost 7000 people. He has over 6000 followers.  His first page of tweets starts this morning, so he's sending out over 20 per day. Every single one of his last 20 updates was posting a link similar to ours. No original content, no commentary.

So even though if someone does a search for "biz360" it looks like we're all twitter is talking about, when I do a search for american idol, I need to go to page 7 before I find a mention of us. Now with seo gaming, I understand the motivation. What are these people trying to accomplish?

Configuring Nagios check_http on Ubuntu

| No Comments | No TrackBacks

I'm writing this post as I do it. My starting point is a fresh install of Nagios 2 running on an ubuntu server in EC2. My goal is to get it monitoring some web pages. I've found poor documentation, so I'm writing this out as I go.

First, you must define the command you want to use (I think). Here's my definition:

define command {
       command_name	check_http_port
       command_line	$USER1$/check_http -h $ARG1$ -p $ARG2$
       }

This goes in /etc/nagios2/commands.cfg. Next, you have to create a file in /etc/nagios2/conf.d for the host you want monitored (or the group of hosts, or just a local.cfg in that directory). In this file you need to define your hosts, and any services you want monitored. Here I use the check_http_port command defined above to ping our frontend machine. Notice the odd syntax for providing parameters to the command.

define host{
        use                     generic-host
        host_name               mi-prod-web01
        alias                   mi-prod-web01
        }
define service{
        use                             generic-service
        host_name                       mi-prod-web01
        service_description             Login Page
	check_command                   check_http_port!mi-prod-app01!80
        }

Lastly, you probably want to add the host to host group in conf.d/

define hostgroup {
        hostgroup_name  http-servers
		alias           HTTP servers
		members         localhost,mi-prod-web01
        }

Config enum pattern

| No Comments | No TrackBacks

This is something I stumbled across while browsing the source for Hive (Hadoop).

I normally define my properties and default values using something like this:

private static final String CLASSIFIER_MODEL_LOC_PROP = "models.classifier";
private static final String CLASSIFIER_MODEL_LOC_DEFAULT = "config/classifier.ser";

It works well enough, but it's a little long, and it is sort of repetition -- maybe in one place in the code, I read the value with a different default. Here's what someone did in Hive:

public static enum ConfVars {
  // QL execution stuff
  SCRIPTWRAPPER("hive.exec.script.wrapper", null),
  PLAN("hive.exec.plan", null),
  SCRATCHDIR("hive.exec.scratchdir", "/tmp/"+System.getProperty("user.name")+"/hive"),
  SUBMITVIACHILD("hive.exec.submitviachild", false),
  SCRIPTERRORLIMIT("hive.exec.script.maxerrsize", 100000),
  ...
}

I generally like enums. Maybe because at a previous company someone thought objects were too hard and everything should be stored in hashmaps, and if you needed a value, you need to know the name of it, and god help you if you need to search for all uses. So I think I will use this next time I do anything dealing with configuration.

About this Archive

This page is an archive of entries from May 2009 listed from newest to oldest.

April 2009 is the previous archive.

June 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.