Playing with Google Maps API

July 2nd, 2009

Google-enabled Esper Servers Page

I had the chance a few days ago to play with the Google Maps API to rework EsperNet’s Servers Page. It turns out that very much like Google’s applications, it’s APIs are also ludicrously easy to use.

I only spent a few hours putting together a real server map (as opposed to a static table of names, locations, etc) that actually looks nice!

To be honest, I spent most of the time putting together the little fly out window. It required new CSS classes and a lot of construction and insertion of elements into the DOM. Getting it looking just right (doesn’t quite look right in IE 7 — the staff table doesn’t show up) was by far the most time consuming activity.

To get started with something like this, get yourself a Google Map API key and code up a little something like this:

<!-- style for height and width -->
<div id="map"></div>
<script type="text/javascript">
  // initialize the map
  function initialize_map() {
    if (GBrowserIsCompatible()) {
      var map = new GMap2(document.getElementById("map"));

      map.setCenter(new GLatLng(50,-50), 2);

      map.setUIToDefault();
    }
  }

  // add events to run on load for IE (top block) and everything else (bottom)
  if (window.attachEvent) {
    window.attachEvent("onload", initialize_map);
    window.attachEvent("onunload", GUnload);
  } else {
    window.addEventListener("load", initialize_map, false);
    window.addEventListener("unload", GUnload, false);
  }
</script>

You can then add new points very easily:

var point = new GLatLng("50", "50"); // lat, longitude
var marker = new GMarker(point, { title:"Cool Title" });

GEvent.addListener(marker, "click", function() {
  marker.openInfoWindow(document.createTextNode("info"));
});

map.addOverlay(marker);

You can call openInfoWindow with any DOM element. For the servers page, I built up a DIV filled with some text and a table. Or you can just add text.

For latitude and longitude, I used Google Maps and put in a city name (e.g; Morrison, CO). I’m not sure if there’s an easy way to do this through the API. It would make life simpler!

Thoughts on IPv6

June 20th, 2009

I got to reading this post (don’t ask why), and I was startled that almost everyone who posted (especially those not in favor of IPv6) forgot that internet access is two-way.

Let’s back up a moment; the aforementioned discussion would be on the relative merits of IPv6. The primary benefit of IPv6 is the vastly increased address space; from 32 bits (~4 billion unique addresses) to 128 bits (billions and billions and billions of times more than IPv4). In the recent past, NAT (network address translation) was seen as a way to slow the exhaustion of IPv4 address space by translating “private address” space into a single (or a small few) “public” addresses. This is common in homes (192.168.x.x addresses internally, a single dynamic address externally) and in businesses.

The sad fact though is this concentrates on the access side of the equation. This solution works fine if you care about one way communication. This whole scheme though breaks when you consider streaming video via RTP (the streamer opens a return connection to you to send video1) or similar protocols. As a more simple example, take the case where you might want to copy files from one of your computers at home to to your computer at work. Getting that to work through NAT is certainly possible, but often troublesome (it’s commonly called PAT and it involves mapping  a single port on the “outside” to an internal port on the “inside” — it’s a chore, if anything).

As we move forward and bandwidths increase (fiber to the home, DOCSIS 3, and grudgingly, VDSL), the “internet” connection at home will look a lot more like a “network” connection. Your video, voice, and data service will come over IP and new worlds of data access will come to exist. With public addressing for everything, protocols heretofore foiled by NAT will start to work and the needfulness of port-address-translation will be all but extinguished. To access your data at home, you’d need only connect to your system at home through its public address (which you would have found by using DNS, for IPv6 addresses do not lend themselves to memorization). The days of brokering connections through mutually-accessible sentinel servers out on the internet will become a thing of the past.

Alas, I digress. IPv6 is necessary, but once more, it’s a good thing. It will help transform individual connections to the internet from single-use appendages to a true internetworked environment with enormous advantages to all who use it.

1 - not a perfect analogy, but it works

Detroit and Cleveland

June 19th, 2009

Before I start on this, I find it at least a little funny that I haven’t yet blogged on my trip to Ireland. I hope I get to that soon.

I like to travel. Unfortunately, a side of my personality — the frugal side (both with cash and paid-time-off) — seems to keep me around Fort Collins. I threw all that to the wind and took a much-needed vacation to Ireland with Myles and Kim at the end of the May (very refreshing, more on this in a later entry). My frugality being what it is (an interesting side note here, I’m hardly ever frugal with dining out), I never (rarely, now) turn down a free trip.

As luck would have it, late last week, an email went out asking if anyone would like to cover the Sarix presentation on Pelco’s IP Road Show in Detroit and Cleveland. I answered in the affirmative about an hour after it went out, figuring that I’d already missed the window of opportunity (things like this rarely go unanswered for long). Turns out, I didn’t!

I received my official tee-shirts via FedEx the next day and was on a plane Monday morning. I found out later that neither Detroit nor Cleveland appealed to anyone else (I don’t understand why — Michigan and Ohio are lovely) and that I was, in effect, drawing the short straw. Not so, I tell you.

I made it to both roadshows, met a lot of cool people (some folks from Clovis, one from Orangeburg, our reps, and customers!) and managed to further develop my presentation and speaking style. My biggest takeaway from all of this was finding a comfort zone when speaking in public (and representing my company and the product I helped create). I think I grew more in the professional sense in the 4 days moonlighting as a road warrior than I have in years. I had a ton of fun, to boot.

More than that, apparently I did a good job. I was offered to present at the next set of road shows in Syracuse and Cherry Hill next week. It didn’t fit with my schedule though — need to catch back up for our upcoming 1.3 Sarix software release lest I be the cause of it slipping. Oh well, hopefully another slot will open up.

Boldly Going

May 8th, 2009

The Gene Roddenberry years, when stories might play with questions of science, ideals or philosophy, have been replaced by stories reduced to loud and colorful action.

- Roger Ebert

I’m hardly one to take much stock in movie reviews, but I must say that I agree with Mr. Ebert in his comment about the new (and cleverly titled) Star Trek film: “Star Trek”

Despite obvious (and egregious, in my opinion) destruction of continuity, this movie lacks the very essence that makes Star Trek, well, Star Trek. This movie is nothing but an action flick with cutesy homages to its predecessors and a not-so-surprise cameo by the original Spock. There’s no questions of conscience or science; there are no better angels. It’s just action.

It’s also a waste of time.

Unless of course, you’re in the mood for cheesy Star Trek knockoff with over-the-top acting (compared to William Shatner, that’s saying something). Maybe it should be retitled: Star Trek: The Comedy.

Rant over.

House

March 15th, 2009

I feel like I’ve been juggling a dozen balls all at once for the last few weeks. Finally, I have something to show for it!

Firstly, I’m finally (with Myles and Kim!) making the trip to Ireland I’ve wanted to take for the last few years. The dates are firm, the plane tickets are booked, and the bike trip is scheduled. May 16th and “goodbye, Denver.” (at least for 2 weeks).

Secondly,my house (and the topic of this post), is getting a facelift. Actually, it’s more like a boob job. I’ve settled on and hired a contractor to finish my basement into a recreation/family room. I’ll move my TV down there and install a 7.1 system for movie watching. I may even get a ping pong table if finances allow (combine this with Ireland and I’m stretched pretty thin).

Thirdly, we’ve released Sarix at work! Finally! Three cheers!

In other news, the aforementioned Bostwicks (that would be Myles and Kim) have put a house under contract here in Fort Collins. Yay for them!

That’s all for now.

Update - Dish Network

February 4th, 2009

I’m happy to report that my Dish Network service is functioning again! A few days after my prior post, one of the guys from the prior repair team came out. He pulled my ViP 622 receiver and replaced it with a ViP 722 (free upgrade). He also replaced the diplexers and separators. It’s been going strong for 3 weeks now.

I hope this is the end of the road with these problems. I’m not sure what I’d do without the 3 hours of House I record every day or Galactica Friday.

After the Dish Network guy left, I went out and picked up a new wire fish and some other pieces and parts to install my DTV Antenna in the attic. After all, the Dish tech had to get into the coax distribution wall (I would like to, some day, call it a “distribution panel”) in order to replace the diplexer. Might as well make use of it while it was open…

I strung a fresh line of RG-6 (which also what’s run through my house) from the wall-to-be-panel into the attic and attached my antenna to one of the beams. The Dish receiver can mux satellite input and DTV input (and record off the air). I’m hoping that some of the stations in Denver (I’m looking at you KUSA) are not broadcasting at full strength now, because signal acquisition is uncharacteristically spotty (some Denver channels come in fine, though).

That brings me to a final mini-rant, I disagree with the position taken by the Democratic congress to extend the DTV transition date. I like that they softened the date (in that they did not require continuous analog transmission to continue past 17 February), but I think that pushing out the mandatory cut-off will just delay the inevitable pain when the mandatory cut-off does come. I think that, with a big dose of confusion and additional cost in marketing, will outweigh any gains in transition uptake.

That’s all for now folks.

Dish Network Receiver Failure?

January 11th, 2009

I have another Dish Network appointment scheduled. This is the 3rd in the last month (or two) or so.

System Information Screen

In late November, I inexplicably lost all signal. I had a guy come out and replace the LNB on my Dish and all was well again.

In mid-December, I again lost all signal one morning and it was back in the evening. I lost it again for longer period the next day. Another technician came out and replaced the “barrel” (that’s tech slang for a coax coupler) with a “high-frequency” model and all was well again.

That is, until today.

Signal Failures I lost signal this morning and ‘lo and behold, it was back this afternoon. I lost it again tonight. The last time the techs were here, they pulled perfect signal out of the wall plate. Unfortunately, whatever they did fixed my receiver. To their credit, they didn’t think it was fixed either, but they couldn’t justify a receiver replacement until it went out again (because they actually did something — replaced the barrel).

This is when the red flag went off in my head that it might be my receiver. You see, the receiver has a handy signal measurement tool in its menu. It registered a strong signal level from the 110 satellite despite its connection to the Dish antenna being unplugged.

I called into Dish tonight and got “Ashley” (with a detectable Indian accent) who ran me through every painstaking step of the script — the very same script I’ve been through twice before. I wish Dish Network would be a bit more proactive in training their reps and had her just schedule a truck roll without having me bother running through the steps again. It would have been even better if she had looked at the account notes and been able to setup an advance receiver replacement.

Oh well. The last guy left his business card, so I’ll be giving him a call tomorrow. Maybe he can save us all the hassle.

A Tale of Two Saturdays

January 4th, 2009

The longest Saturday I can remember just came to a close. It all started with the 0738 beep of my alarm to rouse me from a very restful sleep. By 0810, I was showered, dressed, and driving to breakfast.

0830 - Breakfast at McCoy’s with Myles, Kim, David, and Shane. I had the breakfast enchilada.

I think breakfast is my favorite meal of the day. I just love breakfast food, I love breakfast conversation, and I love coffee. This morning was no different. There was good food, amicable banter, and the carafe of coffee kept magically getting refilled. If I could describe heaven, it would certainly be in terms of hash browns and coffee.

At breakfast, we decided on the plan for the day. Myles and I would drive Shane back to the airport for his return flight to Seattle. Kim and David would enjoy the sites and sounds of Fort Collins while we made the 120 mile round-trip. After breakfast, around 1000, we executed the plan. Upon our return from the airport, we would take a (as yet undetermined length) bike ride around Fort Collins then trek down to Colorado Springs to visit with David’s parents who were coincidentally also visiting the Centennial State.

As a bit of background: Myles, Kim, and I were graced for the New Years holiday by our good friends David and Shane. They hail from Los Angeles (Van Nuys), CA and Seattle (Bellevue), WA respectively.

The plan went flawlessly. Shane was safely delivered to the East Terminal of Denver International Airport and the bike ride commenced at 1300. We did several (Myles says 4) miles up and down the Cathy Fromme Prairie trail. It turned out to be perfect (if not a little chilly) riding weather; and I got to try out my new cycling jacket. After weeks of inconsistent activity and several days of “poor” dietary choices, my body very much welcomed the ride.

We made for lunch at around 1500 at Cafe Athens. Yum. By 1600, we were on the road for The Springs.

We allocated 3 hours for the drive, just in case. Figuring we had some time, we made a stop at the Microcenter in the Denver Tech Center. We spent 30 minutes oogling computer parts and high-definition TV’s before setting out again. This is when we started getting off the rails — seriously.

The plan was to visit with David’s family and then leave him down there, so he could have more time. We would return to Fort Collins, and David would eventually return to LA when he was ready. So, we drove 2 cars from Fort Collins. As a bit of additional backstory: David drove his car from LA to Colorado. Kim joined David in his car for the trip, and I rode with Myles.

Along I-25 South, just below the Tech Center, we ran into a rather unfortunate sounding sign: “EXPECT LONG DELAYS.” It turns out, they were quite serious.

Myles, deft in hand and in mind, quickly pressed the detour button on his GPS navigation device. Within seconds, we were exiting the freeway to make a crazy-looking detour. We jumped off of I-25 south onto the city streets in Denver, found our way to E-470 North (which really travels West), caught up with Highway 83 South up through Parker. The windshield wiper blades on the Bostwick Honda were smearing road grime to the point of total blindness, so we stopped at an Autozone in Parker to pick up and install new blades. We continued along Highway 83 to Highway 86 through Castle Rock on our way back to I-25. The detour was an extra ~25ish miles.

At this point, Myles and I were running a good hour late. We communicated, via text message, to our co-travelers in the other car that we would be pretty late. As we’re about to turn onto I-25 South, I get a call from David that I’ll paraphrase:

Sean> Yep, we’re in Castle Rock.

David> You’re in Castle Rock already!?

As it happens, the “EXPECT LONG DELAYS” was quite accurate. By this point, we had gained 20 miles on David and Kim.

The next message I got from David:

David> 25 MOVING?

It turns out that the combination of snow, ice, and some unusually parked cars stalled out I-25 South for an hour just below Denver. By the time Myles and I arrived at our destination, Phantom Canyon Brewing and 40 minutes late, we had gained about 36 miles on our friends. This after a 25 mile detour and stop for wiper blades.

Staggered meals and beer ensued. In addition, good conversation was had by all. I got to meet David’s grandmother and chat again with David’s parents. I also had a pretty good bit of pot roast.

We made our goodbyes and well-wishes at around 2230 and began our return trip through blowing snow, ice, and snowpack along I-25 North — luckily, to no appreciable delays.

We arrived back in Fort Collins, safe and sound, at around 0030 Sunday and I made it home around 0045. Indeed a good day: good friends, good times, and a good amount of travel.

With that, good night.

The Family is Here

November 15th, 2008

We’re testing out the practical limits of human storage at my townhouse today. My parents and brother all arrived here in Colorado yesterday to hang out and do a little early family Thanksgiving.

So far so good.

A Tale in Customer Service

November 10th, 2008

A few months ago, I purchased 2 MinkaAire Concept I ceiling fans from The Light Center in Fort Collins. Recently, I’ve been noticing that one of those fans has been making a very irregular and annoying hum/whine as the motor runs.

So, I called The Light Center to ask what to do about it. Do you know what they did?

They sent out a repairman today to look at the fan. After inspecting the fan and hearing the problem, he went back out to his truck and pulled out a replacement unit. Instead of just replacing the unit for me, he took down the old unit and installed the new one — all free of charge.

That’s customer service. Kudos to The Light Center. You can expect more business from me in the future.