Friday, April 27, 2007

Peter's Stitches


My youngest son, Peter, has had a very rough week. After 6 days of a low grade fever, the docs put him through a battery of x-rays, blood tests, as well as miscellaneous probing and prodding. He was diagnosed with pneumonia and put on antibiotics, and on Sunday was feeling back to normal.

So, Sunday afternoon we were over at our friends' house when Peter and his amigo/partner-in-crime decided to play tug of war with an elastic exercise band (the kind used for basic resistance exercises). As should be expected by parents in situations like this, one of them is guaranteed to let go, and Peter was on the losing end of the *snap* that we heard out in the living room.

Peter let out a scream of pain and anguish unlike any I have ever heard. It was a completely new type of scream, if you get my gist. You would classify it with the tags "what the ^$%!", "extreme pain", and "mom, help".

We ran to the next room, whereupon he jumped into his mother's arms and proceeded to cling tightly to her, as he continued to howl. Oh yeah, and he was bleeding all over her shirt and there was blood all over the floor. Nice.

The handle from the other end must have hit him on the left part of his chin, cleaning splitting it open and leaving a nice, gaping wound. Can't fix that one with a band-aid and kiss - no way, no how.

So, off to urgent care. Three hours and seven stitches later, and the ordeal was pretty much over. The bleeding stopped by the time we arrived at urgent care, which was a relief, and Peter was a champ getting the stitches.

He gets them removed today, as his pediatrician doesn't want to leave them in too long to help prevent scarring ( "No, not the face!" )

"It's OK dad, chicks dig scars!"

Thursday, April 26, 2007

Baseball Season - Week 6 Wrap-up


Week 6 saw us play a single game on Thursday against the River Dogs, as the Saturday game was rained out. We have missed only one game due to rain this season, so I can't complain too much even though I want the kids to get all the practice they can before the tournament at the end of the season.

So, Game #10 saw us facing the River Dogs for the second time this season, and we expected a good game. Our offense really came alive, with the boys hitting off the pitching machine well for the first three innings. We scored 3 runs in the 1st, 4 runs in the 2nd, and three more in the 3rd. When we switched to kid-pitch, our team scored 1 run in the 4th and 5th as well - not too shabby!

The defense was very tight this game. We had three pop outs, one of which by the pitcher going backwards towards the shortstop position, stretched out to his limit. Our team (away) only got to pitch for one inning, which was a disappointment. I still have not gone through all seven of the kids who want to pitch, needing one more inning before I start back at the top of the rotation.

We now transition to full kid pitch, and the pitching machine stays in the equipment container. After 10 games, we are 9 and 1. The score sheet for game #10 is below.

Friday, April 20, 2007

Donning His Armor


As the time to do battle on the fields of war approaches, the resolute knight dons his armor, making sure each fastener is snug and secure. For he knows that his armor and wits are all that protect him once he takes his place.



With a determination forged out of his years of training, he goes about his duties as if the whirling maelstrom about him is nothing but a gentle breeze.


Look into his grim visage and tremble, ye who would challenge him!

Wednesday, April 18, 2007

Baseball Season - Week 5 Wrap-up


Spring break was over as of last week, and baseball is back in full swing with two games. I always worry about those first couple of games after spring break, as the kids tend to take a mental and physical break during their time off from school. I held practices during the two weeks off, including two sessions of batting practice, to try and minimize the disruption.

So Monday night, we found ourselves playing the River Cats again. Unfortunately, of their 12 players on the team, only 6 showed up. We decided to put three of our players in their outfield when we were up to bat, switching them around as needed by the batting order. As I feared, the players were very rusty. We still won with a 14-10 score, but it was not pretty.

On Saturday, we faced the Storm. Let's just say that of all the managers and teams we play, the Storm is the team I like to beat the most. I'll just leave it at that, and add that we beat them 14-4 with a very solid performance from our team. Defense was spot-on, and the kids had a couple innings where they knocked the ball around the grass real nicely.

So, half way through the season we are 8 and 1. Not too shabby! Score cards for the two games mentioned are found below.

Tuesday, April 17, 2007

Tuesday Afternoon Surf Report


The last week or so has seen some significant swell in the water, however the wind in the mid-day has not been kind. Today I noted that the wind seemed to be letting up a bit, and decided to take my newly repaired GH quad canard turbo fish out for a spin.

Let's just say that whereas the waves were good, I was not. Having not taken out the fish in several months, nothing felt quite right. It is a lot shorter, wider, and thicker than my thruster, so I knew it would take me a bit of getting to know it again.

At least the weather was beautiful! As I waited for another wave, the sun broke through the marine layer and it appears as if it is here to stay for the rest of the day. Nice!

Tuesday, April 10, 2007

Baseball Season - Week 4 Wrap-up


Week 4 featured a single game on Monday night, before spring break kicked in. We played the Iron Birds, and it was the first game featuring kid-pitch in the 4th, 5th and 6th innings.

It was a close fought game, with the Raptors taking an early lead. At the end of the 3rd inning, we were up 5-3. After the 3rd inning, the pitching machine came off and the kids took the mound. In the 4th inning, my son took the mound and gave up 1 hit, hit one batter, struck out three, and gave up no runs. Things were looking fairly good so far.

The tide turned in the 5th inning with our next pitcher, when the Iron Birds struck for 3 runs, going up 6-5. We were not able to pick up any more runs, and hence lost our first game taking us to a 6-1 record. Despite a lackluster offensive performance (which is to be expected in the transition from pitching machine to kid pitch), it was a good defensive game and a decent premier of our three rookie Raptors pitchers.

Our score sheet for the game is found below.

Tuesday, April 03, 2007

Tallships in Oceanside Harbor

In mid-January, I learned that two tallships would sail into Oceanside Harbor and provide tours for folks who wanted to look at the ships. So, I took off from work after a half-day, and brought the whole family down to the harbor.


We walked out to the end of the North jetty, and watched the two ships make their way into the harbor. The first ship fired off a canon as it entered the jetty - thankfully, their aim was horrible!


After both ships had docked, tours were provided by the crew of each ship, which actually live aboard the ships. The quarters appeared to be quite cramped, and the lack of personal space would take some getting used to, I imagine.

We went with our friends, and all the kids had a great time - I think they may have even learned a thing or two! Below, Peter and his buddy Andy take a quick break aboard the Hawaiian Chieftain.

Thursday, March 29, 2007

Baseball Season - Week 3 Wrap-up


Week 3 has come and gone, and the Raptors are still undefeated with a record of 6 wins and 0 losses. Monday night's game against the Storm was a test of our patience as the opposing coach went extremely slow the entire game, limiting us to four innings of play rather than the usual six. He also appropriated two additional outs through extremely questionable calls/decisions, and we gave him an additional at bat later in the game as well. We managed to come through that game with an 8-6 win, so we chalked it up to experience.

Our Saturday game found us facing the Bulls again, now having faced each team in the division at least once. It was a beautiful day out (as may be deduced by the photo above), and the Raptors had another great game. The final score was 23-5, and featured a veritable barrage of offense from the Raptors. My son went 5 for 5, with 2 singles, 2 doubles, a triple, 2 runs scored and 4 RBIs. Every player had a hit, and our defense was fairly solid as well.

With the end of game #6, we now prepare for kid-pitching. The next five games will be three innings of pitching machine, with the remaining three innings kid pitch. The final third of the season will say "adios!" to the pitching machine, with all innings now pitched by kids. Good pitching really dominates at this level, so it will be interesting to see how our team fares. It's my goal to get as many of the kids on the mound as possible for experience. Right now, I'm looking at pitching six out of the ten players on the team, so it should be interesting!

Score cards for games #5 and #6 are below.

Friday, March 23, 2007

Friday Afternoon Surf Report

I decided to hit the waves today on my lunch, even though we did get a very small amount of rain last night. My body desperately needed some water time, and I reasoned that not enough rain fell to actually flush the bad stuff from the storm drains into the ocean.

What a beautiful day it is! The waves were chest high, with a light onshore wind putting a bit of texture on the surface. My lack of surfing in the recent weeks made itself known by the fatigue in my shoulders and triceps as I tried to get back outside after catching my first wave. I felt like a newborn struggling to move across the floor as wave after wave of the set pummeled me. Leave it to me to take the first wave of a set...

I finally made it back outside with my arms burning and doing their best impersonation of linguini. I caught several more waves, all of them lefts that had a bit of juice to them and plenty of time to ride. At the end of my lunch, I was exhausted but had that "post surf glow". Nice way to finish off the work week!

Qcodo

In my random internet wandering today, I stumbled upon a fairly slick PHP Development Framework called Qcodo. One of the things I dislike the most about PHP is the tendency to mix in PHP code with the HTML. This can make maintenance of the site fairly messy, and breaks the mantra of separating the data and implementation from the presentation.

Qcodo is a framework built from the ground up to address this issue. It works from a base data model (e.g. database schema) and builds up objects which map to this data model. It features some pretty slick code creation that also creates default HTML forms for adding, editing, listing and deleting this data as well. Toss in some AJAX functionality for good measure, and you have yourself one heck of a package.

About the only negative points I can see right now are the following:
  1. It is still in the beta stage, so if you decide to give it a whirl, expect some issues and future changes.
  2. It requires PHP 5 and MySQL. If you only have PHP version 4 installed, it is a show stopper. The developers of Qcodo are working on database adapters to support DBs other than MySQL (such as PostgreSQL), so this particular issue may fall by the wayside in a future release.
I'd recommend you visit the Qcodo website and take some time and look through the screencasts they provide - it is very impressive.

Monday, March 19, 2007

Baseball Season - Week 2 Wrap-up

The VALL AA Raptors began the week 2-0, and ended the week 4-0! We have played all of the teams in our division, except for one (which we face off against tonight). The boys are really getting used to the pitching machine, and we are seeing fewer strike outs with each game. The defense is getting better slowly, but it is something we will be focusing on during our next practice

Game #3 was played Tuesday night under gorgeous conditions against the River Cats. We had a heck of an offensive and defensive performance, shutting them out 20-0. Le' ouch. I felt bad that the other team didn't score any runs, however I can't tell my players to not try and make plays.

Game #4 was Saturday morning at 10:00 AM, and we found ourselves opposing the River dogs. I know the manager and one coach of the River Dogs very well, as both had kids on my T-ball team 2 years ago, and the manager's son and my son have played on the same soccer team for several years. Anyhow, the game featured good offense from our team, with lackluster defense. The final score was Riverdogs 7, Raptors 16.

We should be starting kid-pitch sometime in the very near future. At that point in the season, things can change drastically. If you have a couple of players that can throw the ball over the plate, then you should do well. We'll see what shakes out over the next couple of weeks.

Score cards for both games are here:

Monday, March 12, 2007

Baseball Season - Week 1 Wrap-up

I am managing my son's Little League team again this year, and we (the team and I) are having a very good time. The AA Raptors have just completed our first week of games (2 games per week barring any rain outs), and are now 2-0.

The team saw the return of 5 kids from last year's team, along with 5 new recruits. So far, the kids seem to really have a good understanding of the game and have made some tremendous plays for it being so early in the season. I don't know if I am coaching a more effectively than last year (I am sure that I am coaching differently, as I constantly learn as well), or if it is that the kids are just now more capable when it comes to understanding the game. Whatever it is, they are having a great time and I am enjoying watching them play ball.

Game #1 was played Monday evening, without the benefit of a pitching machine. The three legs which form a support tripod for the machinery was missing, so it fell to the managers / coaches to pitch to their own teams. The final score was 19-13 through 6 innings. I figured that I threw about 125 pitches and finished with an ERA of of 28.5! Man, was my shoulder sore the next day. Our lead off batter went 5 for 5, hitting for the cycle. Defensively, we also turned a double play (pop out to P, man on 1st ran to 2nd without tagging up, put-out at first).

Game #2 was played Saturday afternoon, with the pitching machine present and accounted for. I was a bit worried how the kids would deal with the pitching machine, so earlier that day we went to the batting cages and hit off machines for an hour. I think that helped them out greatly, as none of the boy appeared hesitant during their at bats. Winning by a score of 6-19, our defense was again very solid. Offensively, we had 7 more hits than the first game, and 4 fewer strike-outs.

If you click on the thumbnails of the game's scorecards, you can see a larger version of them. I use the Situational Scorekeeping method, which is somewhat different than the dated, standard method.

Wednesday, March 07, 2007

Guitar Hero and Me

We bought the kids a PS2 for Christmas, and bought two new games that don't involve just sitting on your arse all date long: Dance Dance Revolution (DDR) Supernova and Guitar Hero. I bought DDR plus two dance pads for my wife and daughter, whereas Guitar Hero and the axe that comes with it was for my middle son and I (really).

DDR is fun, and a good work out as well. However, this post is not about DDR. No - this post is an ode to Guitar Hero (GH), one of the best games I've played in quite a while. At it's base, GH is a rhythm game, where you press down 'frets' and strum as the game directs you. The music is divied up into sections which advance in complexity, starting with "Opening Licks" and progressing in difficulty until you get up to the final the "Face Melters".

The selection of songs is outstanding, and each is performed not by the original artists, but it is difficult to tell. Another bonus:I've been exposed to a lot of music which I never heard before, and like most of it. I have now almost completed the game at Medium difficulty, and will probably make the leap to the next level sometime in the near future.

The neat thing is that this has caused me to pull out my Fender Stratocaster and clean it up and play with it a bit. My son is fascinated with it, so maybe I'll try and practice a bit with it. It's been a longgggg time since I last practiced, so it isn't going to be pretty. I'd take lessons if they were'nt so damn expensive...

Anyhow, if you get a chance to play it, give it a shot. I bet you'll enjoy it if you like rock music.

Monday, March 05, 2007

What I've Been Reading

For my birthday and Christmas, I received several books that I've been going through. I just finished Robert Heinlein's A Stranger in a Strange Land. It is my understanding that this is commonly viewed as one of the best Science Fiction books ever written, however I just can't share that opinion.

The first third of the book was interesting, and kept me reading. The remaining 2/3's of the book were a bit more laborious and uninspiring. I don't know why, but I find stories about uber-people who are nigh invulnerable and so much better than everyone at everything to be rather boring. I had the same problem with Frank Herbert's Dune. Some of the ideas in Heinlein's classic are interesting to mull over, however the story just didn't grab me and pull me in.

On the other hand, Neil Gaiman's A Study in Emerald, is a fantastic short story filled with flavor and character. If you like your Cthulhu mythos blended with a Victorian setting and spiced with a dash of famous literary characters, then you won't be disappointed. The layout of the story, done as a newspaper complete with advertisements, is splendid. At 9 pages, it would be criminal and rather lethargic of you to not read it.

So, what do I have next in the lineup to read? Some old school Greyhawk fiction that escaped my notice when I was younger...

Tuesday, February 20, 2007

Update on my Nervous Dog

This is a follow-up post to the a previous installment, so read that first if you don't know what I'm talking about...

We talked to our vet (which is located in a large chain of pet stores), and ever since they were bought out a couple of years ago, things have gone down hill. To write a prescription, they want to charge us $13 for each. Ug.

My wife has a friend who is a vet-tech and lives in Colorado. On Friday, she talked with her for the first time in quite a while, and mentioned Ace's problem. She suggested we try giving him one Benedryl tablet, as that will sometimes calm dogs down enough so that they can sleep. Of course, it also might have the opposite reaction, so be ready.

On Sunday evening, the rain started to come down and Ace got real skittish. Figuring that there was no better time than the present, I gave him a generic Benedryl, and he slept like a champ until 6:30 in the morning. No worries, no problems! ;>

Tuesday, February 13, 2007

DSPAM Installed


At work, we have a Debian Linux box that serves as our mail and web server. Recently, I upgraded that box from Debian Woody to Sarge. After that upgrade was complete, I decided to try and improve upon the spam filtering implementation.

The mail server runs qmail as the SMTP server, and I have the mail delivered to local users via procmail. Using procmail allows me to do all kinds of neat filtering on the server side. As an example, I automatically place mailing list traffic into separate IMAP folders. Similarly, mail from customer domains is automatically placed in their own company specific IMAP folders, thereby organizing my incoming emails automatically.

One of the filters that I had incoming mail going through was SpamAssassin. When I first installed SpamAssassin 2+ years ago, it did a very good job of detecting and flagging spam. However, the spammers have gotten rather sophisticated over the last two years, and many of them now actually test their spam against SpamAssassin to try and thwart it. While SpamAssassin was still able to detect and flag an ample amount of spam, more and more seemed to slip through as the months went by.

I decided to try out DSPAM after hearing good reports on its performance from a friend, and reading about it on its website. It wasn't available in the Debian repository, so I downloaded the source tarball and then built and installed it.

DSPAM works best if you have a corpus of spam and non-spam (or ham) to train it. If you do not have a good selection (in the thousands), then I would recommend not using it until you do. Once you train DSPAM with emails that are good and bad, then you can put it to work effectively.

DSPAM is not a fire and forget type of spam fighting solution. It requires a certain amount of vigilance on the part of the user to correct falsely flagged spam or ham. I set up three folders in each user's IMAP folder hierarchy for this purpose:

  1. Spam/ - This is the folder where DSPAM sends all emails it detects as spam.
  2. Spam/Missed/ - This folder is where users place emails which DSPAM did not detect as spam, but should have.
  3. Spam/NotSpam/ - This folder is where emails are placed which were detected as spam, but are not.
Every night, cron executes a bash script I wrote which crawls through the Missed/ and NotSpam/ directories, correcting DSPAM's mistakes.

So, how is it working? After about 3 weeks of use, my accuracy rate is up to over 95%, and that is with out as much initial training as I recommended. I expect that over the course of the next month or two that I will be able to get that accuracy up to the triple 9's range - 99.9%.

Over all, I am extremely happy with DSPAM's performance. It is a bit trickier to install and get going, but once it is humming along nicely, it purrs.

Thursday, February 01, 2007

My Dog + Rain = Sleep Deprivation

Our dog, Ace, is now 11+ years old. My wife and I picked him out of a litter of puppies from the San Diego County Animal Shelter, located in Carlsbad. As it turns out, he was the lucky one of the litter, as the others were put down due to illness the Monday after we adopted him. He had is share of health problems when he was young, but he bounced back nicely and he's been with us ever since.

He is a big dog. At around 115 lbs and tall enough to pick stuff off the dinner table, it is challenging keeping food away from this mutt. We had to put a lock on the pantry because he knows how to open up doors and took to browsing through the pantry and devouring a box of cereal or loaf of bread. To say that our dog is food-motivated would be an understatement.

Ace is part chocolate lab and part great dane. We did not know about the great dane portion of his heritage until it became obvious as he grew. About one year after we adopted Ace, our first child was born. 3 kids later, and Ace has been pretty good with all of them although he is a bit grouchier now than he was when he was a puppy.

I'm not sure how old Ace will get - he's got some serious gray around the muzzle, many fatty tumors on his back, chest, legs, etc., and he's definitely not as nimble or energetic as he used to be. From what I understand, the average great danes life expectancy is under 10 years. Since Ace is a mixed breed, I imagine that he is expected to supersede that number.

So, what has this got to do with the title of the post? Well, the last year or so has seen Ace change his behavior under certain circumstances. Now, whenever it rains, he gets extremely scared. He will come upstairs when the rain starts and start knocking stuff down, making a huge racket. He will go into the bathroom and use his nose to life up the toilet seat and then let it come crashing down. When you try and comfort him, you can feel his whole body shaking. When this occurs at night, well now you know where the sleep deprivation fits in.

We talked to the veterinarian, and he gave us two pills to test out. This medication is called Clomicalm, and cost us $6 a pill! Gah! Doing a little detective work, I have found that a generic is available online, which would be significantly less expensive. Let's hope that our vet is willing to prescribe the generic and fax Ace's prescriptions to the online pharmacist - otherwise we are pretty screwed.

If any of you have any other suggestions, I am willing and ready to listen!

Monday, January 29, 2007

Yet Another Reason to Not Upgrade to Vista

I've pretty much avoided discussing Windows Vista on this blog as I really haven't found many interesting tidbits about this new OS. I am of the general opinion that Vista is an XP "point" upgrade - like XP.5, or something like that. It isn't adding features with which I am particularly impressed.

High on my list of annoyances are the many different flavors of Vista available (5, I think), and the lack of a clear message detailing what you get (or don't get) with each version. I can see many people looking at the various flavors and saying, "WTF?".

Much of Vista's marketing push seems to focus on the user interface enhancements made to the system. Of course, to make optimal use of these new enhancements, Microsoft recommends a computer with a pretty hefty set of requirements - a list which many non-gaming PCs will fail to meet. So, you could run Vista in a "degraded" mode where many of the UI changes are not present... and end up with a product similar to XP.

Microsoft has also made a fairly draconian change in the usage of the upgrade editions of the new OS. In the past, upgrade editions could either be upgraded over an older version of Windows, or you could do a fresh install on a blank hard drive. This came in handy, as it was common practice for some to reinstall Windows annually to clear out all the cruft that accumulated. Also, it is essential to do a clean install when a system has been infected with a rootkit and/or many viruses.

To reinstall a Vista upgrade edition OS, you will first need to install an older version of Windows, and then do the upgrade all over again. Either that, or you could bend over and fork out a good chunk of change for the "Full" Vista (insert flavor here) Edition.

If you have XP, then I'd recommend not upgrading to Vista. The extra hardware costs needed to receive the full benefits of Vista plus the hose job Microsoft is handing out for their "Upgrade Edition" are just too much to swallow. Stick with XP on those Windows boxes you need, and maybe look at trying out a Linux distribution like Ubuntu for others.

If you need to get Vista, I'd look at buying a new PC and getting it bundled with the system. For the full retail price, you might as well get a system that works well with it at the same time.

Friday, January 26, 2007

Firebug: Debugging Web Development

If you do any kind of web development, then you are familiar with how difficult it can be to figure out how a complex web page has gone wrong. When you add in Cascading Style Sheets (CSS), another layer of complexity is added, compounding the difficulty. Finally, if you are jumping onto the Web 2.0 bandwagon and looking to add Asynchronous Javascript And XML (AJAX) into the mix, then things can get downright unpleasant.

So, what is the harried web developer to do? Who or what will come to the aid of our intrepid master of all things www?


Firebug to the rescue! Firebug is a Firefox extension which does so many tasks so well, that it is difficult to summarize them in this short blog post. However, I'll do my best to highlight a few.

Firebug lets you explore the structure of any web page in a variety of ways. When Firebug is active, it resides in a window at the bottom of your web page. Alternatively, it can appear in a separate window, although I like the integration with the page I am viewing. Combine this with tabbed browsing and you have separate Firebug windows for each tab.

In HTML mode, Firebug displays the source code of the current page, initially folder for a good overhead view. When you put your mouse cursor over an element in the HTML display, the portion of the web page to which it corresponds is highlighted. There is also functionality to revers this process: hit the 'Inspect' button on firebug, move your mouse over a portion of the web page you are intereted in, and the HTML view will move to that part of the source.

The HTML display is updated in real time as well. As I am typing in this post, I have Firebug open and see it add my text to the web page as I type. The HTML display allows you to edit the source in place as well. This sentence was typed in the Firebug HTML view...

When you select an HTML element in Firebug, another sub-window displays the CSS properties of that element. Now, you will know exactly why an element looks the way it does, and from which CSS rule the look and feel descended. It has a very nice visual representation of the CSS box model for each element, cleanly conveying the offset, margin, border, padding, and size of the element.

There are so many other features to describe: a javascript console, a windows to monitor and time network requests, DOM functionality, and more. The latest issue of Dr. Dobb's Journal (February 2007) has a nice article on Firebug, which is available online. After reading through that article, go download and experiment with Firebug - I bet that it will become an essential tool for your web development needs!

Tuesday, January 23, 2007

Upgrading from Debian Woody to Sarge


At work, I use Debian linux as the distribution of choice for our file and mail/web servers. In my experience, the stable branch of the the Debian distribution has been very, very stable. When it comes to file and mail servers, that is exactly what I am aiming at - stability!

Each Debain stable release has a code name based upon (so far) one of the characters in Pixar's Toy Story. The current release is Sarge, the previous release was Woody, and the upcoming release is Etch. Sarge has been out for quite a while, with security updates continuing for Woody up and until the first of the new year.

I upgraded our file server from Woody to Sarge sometime last year, and experienced no problems. I was a bit more concerned with our mail/web server, as it serves important public facing functions for my company.

With solid backups prepared and a bit of trepidation in my heart, I began updating the mail and web server. I followed the directions published in the release notes, and experienced only a few minor hiccups along the way.

After about 200MB of downloaded updates and a bit of intervention from me, the system was ready to go. Email worked fine, as did our web server. All in all, a relatively painless upgrade path!

The next release of Debian is due sometime in the near future. However, right now everything seems to be working just fine, so I'm betting that Debian Sarge stays on these servers for the next year or so.