Happy Leap Day

Ah,  we have an extra day this year.   Each time it reminds me of just how many people assume that these happen every four years, completely disregarding the rule or reason for these.

  1. Every year divisible by 4 is a leap year,
  2. of those years, if it is divisible by 100, it is NOT a leap year, unless
  3. the year is divisible by 400, in which case it IS a leap year.

The year 2000 was a leap year for this reason, as you can see… unless you apply all of the rules, your programatic date calculations may be incorrect in these cases.

While on the topic, there’s also the little known concept as a ‘leap second’, unless you are involved in communications or scientific applications you are probably not aware of this.   Back when I was involved in submarine communications, we used to have to update our atomic (cesium beam) clocks to accomodate this irregularly planned change.


By the way, Happy Birthday to you ‘young ones’ born today!

CSS ‘id’ vs. ‘class’

This is a fairily standard interview question for someone that claims to understand CSS, but you’d be amazed at the number of developers that just don’t get it.


<style type=”text/css”>
div#error { color:red; }
div.error { color:red; }
<div id=”error”>This is error text shown in red.</div>
<div class=”error”>This is also error text</div>

Notice that an ID’s CSS is an HTML element, followed by a “#”, and finally ID’s name – “element#idname”.

Also, be sure to absorb the fact that when an id is used in HTML we must use ‘id=”name”‘ instead of ‘class=”name”‘ to reference it!

A simple way to remember this is to refer back to how you think of page anchors. Those URL’s must also be unique and use the “#”.

Why Did They Choose Those Names??

  • ID = A person’s Identification (ID) is unique to one person.
  • Class = There are many people in a class.

NOTE: You can also use inline styling (with no id or class), or style the HTML elements themselves, but those will be covered in a later posts.

Immigration Reform?

Last year I witnessed first hand the numerous protests in Chicago for immigration reform.   This email from a friend of mine (Annette) echoes most of my feelings on the topic.

“Let’s say I break into your house” 

A lady wrote the best letter in the Editorials in ages!!! It explains things better than all the baloney you hear on TV.

Her point:
Recently large demonstrations have taken place across the country protesting the fact that Congress is finally addressing the issue of illegal immigration.

Certain people are angry that the US might protect its own borders, might make it harder to sneak into this country and, once here, to stay indefinitely.

Let me see if I correctly understand
the thinking behind these protests.
Let’s say I break into your house.
Let’s say that when you discover me in your house, you insist that I leave.

But I say, “I’ve made all the beds and washed the dishes and did the laundry and swept the floors. I’ve done all the things you don’t like to do. I’m hard-working and honest (except for when I broke into your house).”

According to the protesters:

You are Required to let me stay in your house
You are Required to add me to your family’s insurance plan
You are Required to Educate my kids
You are Required to Provide other benefits to me and to my family
(my husband will do all of your yard work because he is also hard-working and honest, except for that breaking in part).

If you try to call the police or force me out, I will call my friends who will picket your house carrying signs that proclaim my RIGHT to be there.
It’s only fair, after all, because you have a nicer house than I do, and I’m just trying to better myself. I’m a hard-working and honest, person, except for well, you know, I did break into your house.
And oh yeah, I get a free education, where you have to pay your own way through college.(TEEHEE)
And what a deal it is for me!!!

I live in your house, contributing only a fraction of the cost of my keep, and there is nothing you can do about it without being accused of cold, uncaring, selfish, prejudiced, and bigoted behavior.

Oh yeah, I DEMAND that you learn MY LANGUAGE!!! so you can communicate with me. And don’t forget to make sure your forms are in MY language – I need to understand them…

Why can’t people see how ridiculous this is?! Only in America!

If you agree, pass it on ( in English ).
Share it if you see the value of it.
If not blow it off……… along with your future Social Security funds, and a lot of other things.

In closing, we’re all immigrants to this country, it’s even been scientifically proven that Native American (Indians) migrated across the Siberia-Alaska “land-bridge”.
My simple point here is that past generations of immigrants came to this country and had to survive on their own merits and hard-work, they were not given a free ticket as the current Liberal movement in this country insists on providing.

Water fountains in the desert, so that the illegals don’t die of dehydration…. Please!”   How many European immigrants died on their way to their America?  And they were, generally immigrating via legal means!

Good Day!

HTTP is deprecated?

I found this several years ago, and ‘most’ of my websites implement this standard.

While “http://” implies IP Port 80, and “https://” implies IP Port 443, the payload of such traffic is no longer limited to HyperText (the “HT” in HTTP). To support future protocols, it is advised that websites not force this upon future implementations of the IP stack.

Unfortunately, there is ONE case that implementation of this process can cause your websites. If you run on non-standard ports (or use HTTPS), you’ll still need the protocol (“http:” or “https:”) on the links used to swap protocols.

Obvious advantage here is that all of your links can be shortened.

More information is available at:



Open Source Operating Systems

I’ve posted a lot of information about the common ‘free’ open-source software that I routinely use, however… I just realized that I missed one of the most important applications you use, the Operating System itself.

While my “day job” relegates me to use Windows products for much of my work, I do a lot of additional work at home and for friends.

Currently I use and highly recommend Ubuntu Linux for most users, it’s got most of the usability features of Microsofr Windows and Apple OS/X, but without all of the additional baggage. It’s updated regularly, with new releases every 6 months and software patches made available almost daily. Updates are as non-intrusive as the Windows Update process, and only a very few ever require a reboot.

To quiet the other Linux users out there, I’ve used a lot of Linux ‘flavors’ in the past… each has had it’s place and may do so again…. this is my opinion for the moment and will likely change again in a few years. 🙂

Here’s the list:


Eclipse ResourceBundle Editor

I typically use the open-source Eclipse IDE for most of my Java and PHP work. For my corporate work, this means that I use IBM‘s packaged RAD and WSAD offerings that are based on various versions of the Eclipse framework.

When working on Internationalized (I18n) applications, most experienced Java architects rely on ResourceBundles to store the various text that is needed for different languages, problem is that editing these files becomes problematic, especially when dealing with multi-byte character sets as are often used in Unicode (non Latin-1, aka ISO-8859-1) languages.

The best editor I’ve found for this case is, as you may have guessed, free for download.

Here’s the links:


Resume and skills

I’d be doing myself a great dis-service if I didn’t take the opportunity to share my resume with readers of this blog. You’ve obviously found me because you have a similar interest to those of my own, perhaps you have need of part or full time knowledgeable employees with similar skills to my own.

I’m currently employed full-time and will not consider relocation or accept contract work, but would consider small side jobs in some situations.

Please see my online resume at:


Additionally, I generally have my information available on most job boards such as:

NOTE: Resume available in other formats (such as Word) by request.

Good Day!

Old versions of software

There eventually comes a time when you’re not satisfied with the “latest” version of some software, often this is due to increased resources required to run on older machines. Sometimes it can be due to ‘free’ software becoming nag-ware or no longer free.

Here are a few websites that I have found useful when looking for such older software.

Obvious Warning – older software may have security concerns and known bugs… as such, be careful when using them!


Downloadable WebFonts

To maintain accessibility and SEO (Search Engine Optimization), there’s often a need to be creative with fonts. This is sometimes due to aesthetics, but often to meet technical needs like foreign non-Latin languages that have unique characters/glyphs not normally installed on workstations. Producing images for each character would be very time consuming, bandwidth intensive and destroy search engine rankings.

Create embedded fonts using one of 2 available formats:

1. Portable Font Resources (.pfr): TrueDoc technology was developed by Bitstream and licensed by Netscape. It can be viewed by Navigator 4.0+ and Explorer 4.0+ on Windows, Mac, and Unix platforms.

<link rel = “fontdef” src=”myfont.pfr” />

2. Embeddable Open Type (.eot): Compatible only with Explorer 4.0+ on the Windows platform. Create .eot files using Microsoft’s free Web Embedding Font Tool (WEFT).

<style type=”text/css”>
@font-face {





Browser Rendering Engines

This is knowledge that is generally “tribal” by nature, reserved to only the nerdiest web developers, recently I was asked to name these and failed. Here’s the bounty of my research.

Gecko is generally considered to be the second most-popular layout engine on the Web, after Trident (used by Internet Explorer for Windows since version 4), and followed by WebCore (used by Safari) and Presto (used by Opera).

Gecko is the open source, free software web browser layout engine used in all Mozilla-branded software and its derivatives, including later Netscape browser releases. Written in C++ and licensed under MPL/GPL/LGPL triple license, Gecko is designed to support open Internet standards. Originally created by Netscape Communications Corporation, its development is now overseen by the Mozilla Foundation.

Trident (also known as MSHTML) is the name of the layout engine for the Microsoft Windows version of Internet Explorer. It was first introduced with the release of Internet Explorer version 4 in October 1997, has been steadily upgraded and remains in use today. For version 7 of Internet Explorer, Microsoft made significant changes to the Trident layout engine to improve compliance with web standards and add support for new technologies. Despite these changes, Trident remains significantly less compliant than competing layout engines Gecko, Presto and WebCore.

Presto is the name of the current (Opera 9 series) layout engine for the Opera web browser developed by Opera Software. It was first released (following several public betas and technical previews) on January 28, 2003 in Opera 7.0 for Windows. Presto replaced the Elektra engine used in versions 4–6 of Opera. Presto differs from Elektra in that it is dynamic: the page or parts of it can be re-rendered in response to DOM and script events. The Presto layout engine is only available as a part of Opera browser or related products. The source or binary (DLL) forms of the engine are not publicly available. Subsequent releases have seen a number of bugs fixed and optimizations to improve the speed of the ECMAScript (“JavaScript“) engine.

Tasman is the name of the layout engine introduced with version 5 of Internet Explorer for Mac. Tasman was an attempt to improve support for web standards, as defined by the World Wide Web Consortium. At the time of its release, Tasman was seen as the layout engine with the best support for web standards such as HTML and CSS. Unfortunately, MSIE for Mac is no longer supported, but newer versions of Tasman are incorporated in some other current Microsoft products.