Google's Starting to Scare Me

OK, Google, I know you’re listening, but I don’t know whether to tell you to keep up the good work, or to stop taking every idea I have and turn it into a built in feature of your site!

OK, Google, I know you’re listening, but I don’t know whether to tell you to keep up the good work, or to stop taking every idea I have and turn it into a built in feature of your site!

Just a few weeks ago I was talking to a friend about how the LA Metro’s transit trip planning site hasn’t worked for months and that I was thinking of trying to pull together a replacement using the Google API. Next thing you know, Google Transit is in beta for Portland and coming to a city near you. This week I was making a mix CD for a few friends, and doing a lot of web research on the bands to include some facts in the liner notes. No sooner did I have the thought, “How come Google hasn’t gotten themselves into the online music scene” when (BAM!) Google started providing album information about popular artists.

I guess the only good idea left is to go work for Google.

Reverse DNS Lookup from ASP.Net

My client needs to be able to restrict page content based on the client machine name on their intranet site. I knew that you could get the IP address from the REMOTE_HOST HTTP header, and some exploration of the System.Net namespace revealed that you can use the System.Net.Dns.GetHostByAddress method to perform a reverse DNS look up to get the machine name. Here’s a VB.Net example:

Dim strIp As String
Dim he As System.Net.IPHostEntry
Dim strHostName As String
strIp = Me.Request.ServerVariables("REMOTE_HOST")
he = System.Net.Dns.GetHostByAddress(strIp)
strHostName = he.HostName


I’ve been looking for a reliable CSS horizontal list to replace single row tables for layout of things like navigation menus. So far, though, I haven’t trusted a lot of the ones I’ve seen on the web to work in most browsers. That is, until I found Listmaniac’s browser support chart, which identifies browser compliance for plenty of horizontal and vertical list styles. Best of all, it includes the suorce code for each list!

Sharing Session Variables between ASP and ASP.Net Pages

Two methods for sharing session variables between ASP and ASP.Net pages.

I’m working on a major ASP to ASP.Net conversion project that can only really be done one page at a time. One of the obstacles to doing it this way was sharing session variables between ASP and ASP.Net pages.
Most solutions to this common problem involve intermediary pages that write the session variables of one type into form variables and then from form variables back into session variables of the other type (See Peter A. Bromberg’s example on

Microsoft’s Billy Yuen’s solution uses SQL Server as a repository for session data, and provides custom objects for both ASP and ASP.Net to access the session data.

Ultimately, we abandoned this since the site’s use of session variables was minimal and there were other ways of solving the problems we were using session state for.

CSS Positioning – Return of the Browser Wars?

A la A List Apart, I have been updating my presentation layer coding techniques to be compliant with modern XHTML and CSS standards. While I can certainly appreciate that adhering to these standards results in cleaner code that is easier to maintain, I have found that where element posisitioning is concerned I end up mired in a cross-browser compatibility nightmare the likes of which I haven’t been in since the days of the browser wars. Using nested HTML tables for page layout always bothered me in that it violated the principle of seperating content from structure and presentation. However, using CSS floating (I don’t use absolute positioning) to make a multiple-column page layout takes some masterful coding and/or use of hacks to make it work in multiple browsers! At least browsers can agree on how to render a table. Ever notice how so many of these starndards-compliant sites display all their text in one column centered on the page?

Below are some good resources on the subject, and some code generators for css layouts (the whole notion of a code generator for something as simple as a 3 column layout can take some getting used to – and don’t even think about more than 3 columns). Unfortunately, I wasn’t always successful in backing this code into existing site templates that I’ve made. So until I master the dreaded CSS float, I think I’ll have to keep the occasional table around for layout purposes. 2.0 (coming soon…)

I bet you can’t wait! Here’s a sneak peak at the mock up Michelle and I working on with Photoshop.

I bet you can’t wait. Actually, since I’m the only person that reads this site, and I know I can’t wait, then it turns out I’m right! My wife is helping me out with the graphic design (since I am completely lacking in that department) and I’m working on the new site architecture. Here’s a sneak peak at the mock up we’re working on with Photoshop.

Once we’re happy with the design, I get to try and make my first (and hopefully last) Word Press Theme in order to bring this blog in visual alignment with the rest of the site. I spent some time today looking for inspiration from the WordPress Theme Viewer, and I have to say my favorite based on name alone would have to be Yaaarr, tis me blog!