A happy life consists in tranquility of mind.

, Cicero  106 BC - 43 BC Roman author, orator, & politician.


This site is implemented using ASP.NET 2.x and Visual Studio 2008. It was originally implemented in ASP.NET 1.1 and VS 2003, but was converted some time ago. The hosting company I use has not installed ASP.NET 3.x framework. When it does, this site will be converted.
There are a few items of interest (I believe) regarding the implementation of this site.

  • The menu links on the left hand side of the page: Note that as you roll over them, the background changes. That is, they don't act like normal links. After discovering the technique on the internet, I created a custom web-server control in a separate solution, and use that assembly on several different web-sites.
  • The "transparent" containers: These were quite a problem in combination with the menu links (see above). IE6 has a documented bug that makes some "bad" calculations when you are trying to display a hyperlink on a transparent object which overlays a background. Fortunately, I was able to find some (somewhat inelegant) solutions for this. So these containers are done using a combination of Javascript and IE filters. I use several script libraries that were found on the internet. They are referenced in the "Tools" page.
  • The "ever changing" quotes at the top of the content portion: This is being accomplished through a web-service running as part of a sub-domain on this site, and a web-server control that is used to access the web-service and return the quote information. This functionality will shortly be turned into a subscription service to which any ASP.NET web site will be able to subscribe. Note that as you refresh a page on this site, the quotes will keep changing in a random fashion. The web-service will take the current quote id sent to it in the request, generate a random quote id to search the database, and then return a quote that either matches that id, or is the next id after the requested id. The max quote id is kept in cache, and as new quotes are added (through an admin interface I developed), the max quote id is re-saved in cache.
  • Finally, the use of CSS. I have NOT used CSS for laying out the 3 column grid in the center of the page, comprising the menu, the content, and the right-hand bar with the Quick Summary and ads. The reason for this is simple. CSS is not meant for laying out tabular arrangements. The W3C even says so. There are many sites that have examples of techniques for doing this, but they are all abysmally complicated, and each seems to fail with one browser or another. So for tabular arrangement, I use tables, and DIV's and STYLE's are used for other "prettiness". The pragmatist in me really grates at having to use a bunch of hacks to apply "correct" techniques when something simple will do with much less effort and more reliability.

Quick Summary
Years Experience
33 years on various platforms, from mainframe to micro. Incorporated since 1988.

Languages & Tools
C#, VB.NET, PHP, CSS, HTML, JavaScript, XML, XSLT, Visual Studio, Eclipse, Infragistics, Telerik

Advanced
AJAX, Web Services, SubText, Drupal, SubSonic

Databases
MS SQL Server (2000 & 2005), Oracle 9i, Informix, Tandem Non-stop SQL

Industries
Mortgage & Retail Banking, Medical, Real Estate, Logistics, Distribution, Financial Services, Educational Coaching


High Performance Web Sites: Essential Knowledge for Front-End Engineers

Learning PHP 5

The ZEN of CSS Design Visual engightenment for the web