Tuesday, July 25, 2006
It's Hot! I don't mean warm I mean Hot. Last night I got home from work at 6:30pm and it had cooled down to 101 degrees, but at least there was 80% humidity. However it is suppose to get better by the middle of the week. I know what you are thinking, but Russ you sit in an air conditioned office building all day, why do you care if it is hot? Well, that is true, I do, but I have some very good reasons for caring that it's hot out.

1. The Little Boy, do you remember when you were a kid, I do, and the desire, no, the need to play was so strong that it would completely override the, it's too hot to play part of my brain. He's the same way. Yesterday evening we took a quick bike ride around the neighborhood. It had cooled down to an cool 97 degrees, so we got our hydration packs and rode. We rode for about 20 minutes and that Boy had drank a litter of water. (Minus the pint or so we were spitting at each other. What, he looked hot, I wanted to cool him down, and he just wanted to return the favor.)

2. We don't actually have Air Conditioning at the house, we have an evaporative cooler (swap cooler) and some room air conditioners. Not enough to cool the entire house when it's 108 degrees outside and the humidity is at 80%. Evaporative coolers work by well, evaporation, and so if the humidity is 20% to 40% it works like a charm, if its higher than that, well, it just gets more humid.

3. My Brothers still work in construction. While Dad and I have left the trade. The Boys are still out there sweating their guys out. I was talking with them earlier this morning and they are going through about 4 gallons of gatorade a day trying to stay hydrated. They are framing in the hot sun all day.

Well, It's hot out there, remember to stay hydrated and don't forget the sunscreen.


Family | Funny | Rant
7/25/2006 9:30:57 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
 Wednesday, July 19, 2006
This morning I came across this article in BusinessWeek about the 10 oddest iPod Acessories. I really have to agree with their list.

  1. Stereo Dock for iPod with Bathroom Tissue Holder - For Those that need their iPod at all times...even in the bathroom
  2. iPode Sholder Bag - It's a purse, it's a iPod boom box, it's both!
  3. CE0 Card Wallet for iPod Nano - For those that believe their iPod is like their American Express card, they don't leave home without it.
  4. Bullet Proof iPodCase - I assume this is for the secret agents iPod, whoelse would need a bullet proof aluminum case for their iPod.
  5. iPod Nano Thong - Now this one is just wrong, it a thong for your iPod. I would guess that large quantities of alcohol where involved in the design process.
  6. The iPod Nano Belt - Because everyone wants their iPod on their belt...don't they?
  7. iPod Cases - This cases look more like a Muppet at your iPod.
  8. Mobile Security Lock for iPod - I'm not really sure what this does, but I think I feel more secure...
  9. iSticky Pad XL - Now it maybe just me, but I really don't think that sticky and iPod should be used in the same sentence.
  10. Gloves with Playpoint Technology for iPod Click Wheel - Not only is that a lot to say, but I don't get it. I get batting gloves, I get driving gloves, I don't get iPod gloves. Are people getting blisters from over use of the iPod Click Wheel?
7/19/2006 10:18:55 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
 Tuesday, July 18, 2006

You have to give this a listen. As a guitar player this guy is just simply amazing to watch. He's developed his own style, and sounds like three people playing at once. I was impressed.

7/18/2006 10:08:32 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
 Friday, July 14, 2006
So this evening I was driving down the street, stereo cranking playing "The Raconteurs" at a very high volume, moon roof open feeling pretty cool. Then I realized I'm not cool. I'm driving a camry home from the pharmacy, where I've just picked up my colesterol/triglyceride medication, which is sitting next to me in a childs car booster seat. I am not cool.

7/14/2006 9:17:15 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
Wednesday after work The Little Boy and I were in the backyard playing some "spaceball" (I've been trying to to teach him that the game is baseball, and he says it right most of the time, however I kind of like it when he calls it spaceball). I've been working with him on batting. I've been throwing him some soft under hand pitches and currently he's hitting about a quarter of them. Not a bad average for a 5 year old I must say. We use the soft T-Ball baseballs that have a rubber core. Last thing I want is for him or I to be hit in the face (or lower) with a regular baseball. Brother K can tell you how bad that is. (when he was a kid, he pitched a regular baseball in grade school to a kid during recess and it came back and hit him in the nose. It caused him a lot of sinus trouble over the years. His jerk of a teacher told him he was fine and that he should just walk it off. Years later same teacher gets hit in the face with a soccer ball which is so much softer than a baseball and the guy passes out and had to be taken away in an ambulance.)

Anyhow so I was pitching a few to him and for fun I throw a tennis ball for him to hit. It's about 50 to 60 feet from the area he was batting to the 6 foot high fence in the backyard, well he cracked the tennis balll perfectly and launched that thing high and right out of the yard. I yell, "Incoming" and "Sorry" and the tennis ball landed in the neighbor behind us' patio. The Little Boy look at me, like, "What do I do, I am happy that I hit the ball that well, but I hit the ball over the fence man!" I smiled at him and said. "Yeah, did you see how far you hit that thing, It cleared the fence!" So he ran the bases we have setup and made sure to come by and give me a high five as he was passing second base, and  just because he could he went for a second lap around the bases. Our neighbor was of course very nice and threw the ball back. I told the Little Boy, "I think we'll have batting practice at the school, you hit way too well to practice in the backyard". He smiled and gave me a hug.

7/14/2006 9:31:38 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
Warning: Motorcycle Post.
Reverse Rotating Rotors, try saying that five times fast, go ahead try it, it's difficult isn't it. So what are Reverse Rotating Rotors? Well it is something that Mr. Rob Kasten has been working on that is very interesting and could be huge in the motorcycle racing arena. The basic idea is that you mechanically make the disc rotors on the front wheel of a motorcycle spin in the opposite direction. This counter acts what is know as gyroscopic presession. So you stabilze the motorcycle at almost any speed and make it as easy to turn at 180 mph as it is to turn at 20 mph. What I find complete fasintating about this project, is it all started because Mr. Kasten wanted to understand counter steer better.

7/14/2006 9:15:58 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
 Monday, July 03, 2006
Today I wrote some code that I've been wanting to play around with for a while. I know that Google Map API has been out for a while, infact its in its second version. So this afternoon I took sometime to check it out. My first impression was that it was going to be complicated. However I couldn't that couldn't of been further from the truth. If you know javascript, this is a cake walk.

The first thing I have to say is that Google did an excellent job on documentation and examples. Also when you sign up for your API key they give you an html example to start with that is amazingly helpful. Its the most basic google Maps functionality there is, but I found it to be a great starting point.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example</title>
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=abcdefg"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[

function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
}
}

//]]>
</script>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 500px; height: 300px"></div>
</body>
</html>
This pretty much has everything you need to start. It shows you how to call the Google Maps API with your key. It shows you how to create a GMap2 object and what you div and body code should look like. Well I decided for my test I would mapout the locations of the Credit Union's Southern California branches. What I wanted was something simple and would give some branch information when you clicked on the pushpin icon. Of course like I mentioned earlier Google did a great job with the documentation and I started with the "Using Xml and Asynchronous HTTP with Maps examples". It basically shows how to use their GXml parser for javascript. Which seems to be really fast and easy.
GDownloadUrl("data.xml", function(data, responeCode){
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
Of course you need an xml document, which is simple enough, a documentElement of <markers> and the elements <marker> with attributes "lat", "lng", "branch", "address" and "phone". However my little problem was I didn't know how to figure out that latitude, after a quick google search I had what I needed.
<?xml version="1.0" ?>
<markers>
 <marker lat="34.191459" lng="-118.348875" branch="Burbank" address="2340 Hollywood Way<br >
 Burbank, CA 91510" phone="(800) 328-LFCU"/> </markers>
Well now I just needed a function to write out the data to the InfoWindowHtml, well with the little sample code I was about to write a function that took the data from the xml and fill the InfoWindowHtml.
function createMarker(point, address, branch, phone){
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function(){ 
marker.openInfoWindowHtml("
" + branch + "
" + address + "
" + phone); }); return marker; }
Now that I have my marker function I just need to bring it all together.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps - LFCU Southern California Locations/title>
<script src="http://maps.google.com/maps?file=api&v=2&key=abcdefg" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(34.191459, -118.348875), 9);
				
				
function createMarker(point, address, branch, phone){
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function(){ 
marker.openInfoWindowHtml("<div style='font-family:arial, verdana, helvetica, sans-serif;font-size:10pt;'>
<strong>" + branch + "</strong><br />" + address + "<br />" + phone);
});
return marker;	
}
				
GDownloadUrl("data.xml", function(data, responeCode){
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for(var i = 0; i < markers.length; i++){
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
var address = markers[i].getAttribute("address");
var branch = markers[i].getAttribute("branch");
var phone = markers[i].getAttribute("phone");
map.addOverlay(createMarker(point, address, branch, phone));
}
});
}
}
//]]>
</script>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 700px; height: 500px"></div>
</body>
</html>
That's it, if you know javascript, can fake your way though xml, you can have a google map up and running in no time. :-) Happy Coding
7/3/2006 7:54:25 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]