Monday, August 08, 2016

SQL Table Object

I open sourced the code for the object I use to create simple HTML tables. This is somewhat of a Swiss Army Knife object that can be used to create tables in multiple ways.

To understand the object you will want to look at both the source code and the demonstration page.
The object I use to produce forms is much more complicated. I am updating it for Forms 4.0.

NOTE: The program uses the sqlRow() function which  encapsulates the PHP PDO object. It uses the htag() function which indents the output; so that my HTML is well formatted.

Friday, August 05, 2016

Path to Citizenship?

In 2013, the US naturalized 777,416 immigrants. The chart on indicates that the United States has naturalized well over a half million immigrants every year this decade.

Hillary Clinton's claim that there is no "path to citizenship" is a lie. The fact that the United States continues to have the most generous immigration systems on the planet proves Clinton to be a liar. (Not surprising for a person married to a convicted perjurer).

The problem we face isn't the lack of a "path to citizenship" but the fact that that millions of people are blatantly ignoring immigration laws which makes it much more difficult to define that path to citizenship.

In today's speech, Clinton made the claim that illegal immigrants pay some $13 billion into Social Security.

I need to point out that it is the employers who pay into social security.

The true statement that employers paid some $13 billion into social security.

Quite frankly, this same amount of money, if not more, would have been paid into the system on the behalf of US citizens if the employers hired US citizens instead of illegal immigrants.

I personally do not hire illegal immigrants. Many illegal immigrants appear to be part of a shadow economy and the people in the shadow economy work in cash and do not pay social security.

The claim that Republicans are anti-immigration is a blatant lie. We have a path to citizenship proven by the half million people who make it through that path each year.

The problem is that we don't have an effective path for denying citizenship.
As for deportations, If I were president, I would make enforcing visas a priority. A visa is a contract. People violating the terms of their visa show a contempt for contracts and the rule of law.

Hillary's statement that she would only enforce immigration laws in regards to violent offenders is horrible. We need to enforce visa laws to have an effective visa system. By openly declaring that she would not enforce Visa laws, Hillary has made it more difficult to have a liberal visa system.

Aggressive enforcement of visas is not anti-immigrant because it allows for a greater liberalization of visa laws. The idea that being granted a visa should be seen as a path to citizenship is absurd.

Quite frankly, since violating the terms of a visa shows contempt of law, I would say that people who grossly violate the terms of the visa should be kicked off the path to citizenship. Showing respect for contracts, including a visa contract, should be part of the path to citizenship.

Monday, August 01, 2016

Redirects and Broken Links

The migration to the new server is going slow. I am rewriting each line of code. Oddly, my programming style is becoming more Spartan. with time.

Here is the code for the primary redirect program. A redirect program simply records a hit and sends the user to destination for a link.

Most users don't like web sites recording their links. So, I only use the redirect program on merchant ads and paid links. I only track usage for about 5% of the links in the site.

My stat counters say that the redirect program has been called 1.7 million times; So, I figure that I have sent well over 20,000,000 hits to sites listed in the directory.

There are several robots, eg Googlebot, that read the site. Many of these robots are created by companies that send traffic to web sites. I believe my local directories have had a positive impact on local commerce.

Anyway, I made two huge improvements with this new version of my redirect program.

The first is that the program now produces full blown pages, instead of a cryptic message, when links aren't found.

The really big improvement is that I decided to start recording information about broken redirects.

I did not do this before because my site verify the existence of a link before generating the code for the link.

While coding this site, I realized that, if I began using redirects for more links, then I would be in a better position to discover broken links as they occur.

So, I will probably come back and visit this redirect page after I finish the migration to my new server.