ChetOS.net

"And the king will answer them, 'Truly I tell you, just as you did it to one of the least of these who are members of my family, you did it to me.'" - Matthew 25:40

Evangelical Christians are uniting in an urgent effort to bring an immediate end to the genocide in Darfur.

In recent weeks, evangelical leaders have discovered profound unity on this crisis. Believing that God was calling them to act, a number of those leaders began talking about how evangelical Christians could respond together to this call.
Those conversations led to the creation of Evangelicals for Darfur, a campaign that brings together media, web, and grassroots advocacy to call for an end to the senseless suffering in Darfur.

A broad and diverse group of evangelical leaders were eager to participate in this project. The leaders signed onto ads that are currently running in the nation's major newspapers calling on our nation's political leaders to boldly lead the effort to stop the suffering. As evangelical Christians, we now have the chance to add our voices to this important message.

I hope you'll visit www.evangelicalsfordarfur.org and decide to join in this urgent effort. I am deeply encouraged by the broad spectrum of Christians who are speaking out together on this issue. For in matters of life and death, there is no left or right, there is only right and wrong. Together we can help make a life-saving difference for our brothers and sisters in Darfur.


Click here to learn more and to add your voice to this campaign:
http://go.sojo.net/campaign/evangelicalsfordarfur?rk=L13BaNM1-XvwW

I received this in a email from Joe.
Posted by Chet at 12:47 PM1 Comment

It's here, you can get it at http://www.microsoft.com/windows/ie/downloads.  You can be lazy though, it will be deployed via Automatic Updates on November 1st.

I have been using IE7 for a little over a month now.  It has taken some getting used to, but it is actually quite nice.  I used to have Google Toolbar, and I got used to simply pressing enter to open a new window (turning off that setting caused it to open in the same window).  IE7 has a multi-provider search tool built in, and Google is one of them... however there isn't a setting to make it open in a new window/tab.  That drove me nuts, until I found out that you can press Alt+Enter to accomplish the same thing.  Nice save.

Anyway, get IE7.  Also, Firefox has the DOM Inspector plug-in.  IE7 has a "Dev Tool Bar" which includes a DOM Inspector (and a bunch of other tools which are very helpful).  You can get it here.

So, I am running RC1, I am off to install the complete version now.
Posted by Chet at 10:10 AM0 Comments

This week my site will only receive around 800 hits.  It is way down from when I had 1,400 hits in the last week of August, but it is still above the average of 700.  Actually, the site has beaten the average every week for the last 33 weeks (that was the week of February 5th when I only got 501 hits).

This week will be the lowest week this month.

I don't count hits to the rss.asp or googlees.asp pages, nor do I count hits from me.

I don't know who is coming to my site since nobody leaves comments.  Also, it is odd, but if I look at the hourly dispersion of hits, they are all pretty much equal.  That is very strange, the dead of night should have very few hits.  With my luck it is nothing but bots hitting my site.  I will look at the log files and filter out any entries from bots.

I would love to get an average of 1000 hits/week.  I bet that if I posted more it would happen.
Posted by Chet at 8:21 PM0 Comments

http://www.thinkgeek.com/computing/input/8193/

This device projects a keyboard on the desk using lasers.  Then you can "press" but buttons.  It even makes a clicking sound.  Truely amazing.
Posted by Chet at 9:34 AM0 Comments

I was only using this website so I could actually hear what Rosie was saying.  But I started reading and realized she isn't the only moron.

Later in her tirad she said that if 1/3 of the money we used on the war ($300 billion) was used in New Orleans then America would be a better place.  Whitlock responded that we have designated $110 billion (not that necissarily thing that American tax payers should be bailing this city out), which is over 1/3.

The person who wrote the news column said the following in response to Whitlock:

A.) I'd like to see Whitlock's face as he survives 13 months without a house on "designated" funds B.) The relief has been so mismanaged that even the money going there isn't being put to good use (due to failed core administration belief in the "free market") and C.) The point is: this government is such a failure, it can't even keep its own citizens safe and warm.

I will start with the last point, since when is it the government's job to keep its citizens safe and warm?  Safe, yes, comfortable, no.  And even though it isn't its job, it does it anyway.  Many of the displaced in Houston are still pulling welfare checks, we are keeping people safe and warm.  The author acts as if people are sleeping inside their dilapidated houses.  I doubt it, they would have been condemned making it illegal to even enter them.

Point B is not unique to the Bush administration.  This is simply an issue of bureaucracy. (However, he says that it is due to the failed belief in "free market", so what is the answer for this author?  He complains that the government failed to do it right, and free market failed, so give it back to the government again?  Sounds like we need more accountabilily/oversite, not more bureaucracy).

Point A, again, it is not the government's job to provide a house if you have a catashrophe.  If my house gets flooded will the government get me a new house?  No, I will pay to stay in a hotel, insurance will probably pick up the tab.  Why is it any different just because 50,000 houses were flooded (sure, there is an economic and crime issue, but we are talking about principle).
Posted by Chet at 8:09 PM0 Comments

"Radical Christianity is just as threatening"
- Rosie O'Donnell - [source]

Christian Terrorism is terrorism that the perpetrator claims is performed in furtherance of Christian goals or teachings.  Not to be confused with terrorists who happen to be Christians (if it is even possible to be a Christian and a terrorist).

The most common example of Christian terrorists are abortion clinic bombers and gay clubs.  It is interesting to note that none of the terrorists thus far have been a part of a Christian church at the time of the attack.  They usually say that they were members when they were younger but haven't attended in years.

Timothy McVeigh is always held up as The Christian Terrorist, the type of person that exemplifies the type of person who would commit such acts of domestic terrorism.  Unfortunately for people who say this, he didn't attack the federal building to further Christian goals or teaching.  He was plain old anti-American.  He happened to be a Christian years before the attack.

Eric Rudolph would be closer to a Christian terrorist than McVeigh, he actually attacked places because of his beliefs.  However, he was not a part of any Christian organization and "prefers Nietzsche to the Bible." [source]

For some reason Rosie thinks that us bombing people in other countries is an example of Christian terrorism.  Not sure how that is, just because we happen to have a huge Christian population? What a moron.
Posted by Chet at 8:08 PM0 Comments

As you may remember, back in 2003, it was leaked that Valerie Plame was a CIA operative.  Liberals assumed that the White House had illegally leaked this information in order to get back at her husband.  Patrick Fitzgerald was assigned the case to determine who leaked that information to Robert Novak.

Well on July 11, 2006, three years after it happened, we come to find out something very interesting.  Robert Novak said, "For nearly the entire time of his investigation, Fitzgerald knew--independent of me--the identity of the sources I used in my column of July 14, 2003. A federal investigation was triggered when I reported that former Ambassador Joseph Wilson's wife, Valerie Plame Wilson, was employed by the CIA and helped initiate his 2002 mission to Niger. That Fitzgerald did not indict any of these sources may indicate his conclusion that none of them violated the Intelligence Identities Protection Act."

The source/leaker that he speaks of is Richard Armitage.  However, even though he knew who leaked this information, Fitzgerald told Mr Armitage to keep quiet about it while he continued to investigation.  This, my friends, is the farse.  Fitzgerald did not press charges against Armitage, appearently because no law was broken... but he kept pretending to look for the leaker.  From what I remember, Scooter Libby's spoken testimony did not match up with something he had written.  They nailed him on that.  So here we are with a case where no law was broken, and someone who wasn't involved in the matter at all was indicted for obstruction of justice.  How can he be obstructing something that he had nothing to do with.

This case should have been dropped days after it began... as soon as the leaker was determined.  Armitage says he didn't come forward because "the special counsel, once he was appointed, asked me not to discuss this and I honored his request." Source

After news reports began to name Mr Armitage as the source, a lawyer working for Ms Plame and Mr Wilson said they still planned to go ahead with a lawsuit against close associates of President George W Bush.

The couple filed a suit in July against Vice-President Dick Cheney; his former chief of staff Lewis "Scooter" Libby; and Karl Rove, George W Bush's top political adviser, accusing them of intentionally revealing Ms Plame's identity to discredit Mr Wilson.  This doesn't make any sense.  Why aren't they going after the leaker?

I'll tell you why: this entire thing was drawn out specifically destroy a sitting president during a time of war.  This is an successful political hit.  It seems that no crime was committed in the leak (otherwise charges would have been pressed).  The only purpose is to distract the nation and make it look like Bush and his cronies are picking on his opponents in the most dirty of fashion.  It is clear to me that it is the Socialist party that is doing the dirty picking.
Posted by Chet at 7:17 PM0 Comments

I woke up this morning to about 30 spam comments on my website.  This is terrible.  So, I have copied the CAPTCHA system I am using to protect my Contact form and Notepad (which great success by the way).

So now, if you want to post a comment (for some reason).  Make sure you type "red" in for the CAPTCHA.  For small websites like mine you can use a static word like that.  Nobody is going to go through the work to make a bot hit mine automatically.

But, if they do, I will move to more colorful systems.  I have a few ideas.
Posted by Chet at 9:20 AM2 Comments

I figured the time has come.  I installed IE7 Release Candidate 1.  Release Candidates are very different from Beta version even though they both are pre-release versions.  RC's are "feature complete", all that is left are bug fixes.

Anyway, the single reason that I stopped using Beta 3 minutes after I started using it is that using the built-in (and unremovable) search bar would always open in the current tab.  That is absolutely annoying, especially since I have Google Toolbar open a new window (rather than overwrite my current page).

So, I installed this latest version and noticed that it has the same problem.  There is no preference to control this.  I was disappointed.

However, I continue using it because I have got to make sure all my sites will render properly after it is forced upon the masses.  Lately I have been building all sites to be completely Firefox compatible; so I am happily suprised to see that there are no rendering issues at all.

This search box issue is a deal breaker for me.  However, I just found a work around.  Alt+Enter will open it in a new tab.  Problem solved!  I just wish they had included a default action when the user presses Enter.

Sorry that this post is so disjointed.  I am not in a communicative mood, my brain is fried from working on the Polk County PA website.
Posted by Chet at 7:44 PM0 Comments

It is funny... each hurricane in the Trifecta of 2004 went almost directly over us (actually, a little to the west or south).  Well, Ernesto is the same.  I guess Lake Tohopeklega is a magnet or something.  Have a look at this picture.  My house is on the west edge of the yellow band.

I think I just coined "Trifecta of 2004"... nevermind, a few others said it.  Oh well.
Posted by Chet at 3:30 PM0 Comments

Ernesto is coming.  I want to know what This Administration is going to do about it.  I haven't seen anything; I haven't even heard if he (because The Administration consists solely of the president, you know) is going to visit the destruction.

I hope he learned from his mistakes during Katrina.  He should already be in the air so that he can land as soon as the eye passes over the airport... it is a pretty small window, but he can probably maneuver the plane safely.

Also, I think he should start mailing out those $2000 debit cards.  Just go ahead and send them now so they are here by the time the stores open back up.  I could really use a new TV.  I bet his tounge will be swollen from licking all those envelopes.  I guess he could have his minions (read: cronies) do it, but I think he needs to take a leading role and personally seal most of them.

In fact, he should get his scientists to divert the tropical event away from us (they aimed it right at New Orleans (because Bush hates them), I am sure they can move it away from us).  In addition, he should hurry up and sign the Kyoto Protocol (which Clinton failed to sign as well).

While I am on it, I want free medicine and health coverage.  That is all I ask!
Posted by Chet at 9:54 AM2 Comments

Well, forget what you learned in elementry school.  The latest list of planets is as follows (in no particular order):
  • Mercury
  • Venus
  • Earth
  • Mars
  • Jupiter
  • Saturn
  • Uranus
  • Neptune
So long Pluto, it was nice while it lasted.

I am at least happy they didn't add planets... nine was a nice round number.  I didn't know that Pluto is actually smaller than our moon.  Perhaps this is for the best.
Posted by Chet at 9:00 AM0 Comments

I have been thinking about doing a podcast.  I have over 2 hours of dead time while I am in the car... With the windows rolled up I could record some stuff.

But I am not even going to bother unless people are interested.  So, leave a comment here if you think it is a good idea.
Posted by Chet at 9:22 AM3 Comments

I heard a commercial for www.apathyislethal.com which claims that AIDS claims the lives of 1600 children every day.  That translates to (365 * 1600) a little more than half million a year.

While I am concerned about the AIDS epidemic, its not like we don't know exactly how to stop it.  It is amazing how the website pretty much glosses over sex (and they have counseling for "safer sex").  How about this... you have a disease which is spread through sex, stop it.  There are diseases that spread through touch, and those people abstain from touching.  We have diseases that are spread through the air, and those people contain themselves (usually).  Why cannot people who spread a desease through sex contain themselves?!

Now that I have solved the AIDS problem, here is a number that I am more concerned about: over 1,000,000.

That is the estimate for the number of abortions per year (taken from the Guttmacher Institute which is used by both pro-choice and pro-abortion groups).  It has been as high as 1.5 million (in 1990) and as low as 900,000 (the first year it was legalized, 1974).  Either way, it has not been below 1 million in many, many years.  We have killed off at least 47 million people since abortion was legalized.  24% of all pregnancies end in abortion.

I will state with absolute certainty that we have already killed off the next Einstein, the next Hemingway, and the next Beethoven.  We have probably already killed off the next Hitler and Stalin, but I will take the bad with the good.  Actually, since black women are four times more likely to have an abortion, we probably killed the next George Washington Carver.

But there is good news.  It looks like the rate is dropping... not by much though, 0.8% in 2002.  There is also an increasing number of people who think abortion should only be allowed in cases of rape and incest (I still cannot figure out why a "wanted" baby has more of a right to live than an "unwanted" baby).  They don't even report how many people think it should be wrong in all cases (like I do), it must be a very small number.
Posted by Chet at 7:41 PM0 Comments

It is here... are you?
Posted by Chet at 9:31 AM2 Comments

I never did call corporate.  I just didn't have it in me.

When we went to return the car I complained again.  They decided to refund me two days.  That is acceptable.

It is still unacceptable that they rented it out.  They said they cannot keep people from smoking in them, but they sure can charge a hefty fine for doing so.  And then they can flag the car and warn people.  Perhaps they will never be able to rent the car again... that is between them and the offending smoker.

Anyway, it was resolved to my satisfaction.  This is just a warning to smell the car before you pull out.

We still don't have our car back from the shop... the insurance company of the guy that hit me will not accept liability until 1) they can get ahold of the guy; 2) they receive the "long" form of the police report.  It has been over three weeks now and is quite ridiculous.

I am going to call FHP to see if they can fax it to me... they probably won't though... probably going to make me come in and get it.
Posted by Chet at 12:13 PM0 Comments

Another thing about being level 60 is many of the large raid groups only accept level 60 players.

Now, about quests.

Yesterday I played two instances.  The first one is Attunement to the Core (yes, I still haven't finished it).  I have attempted this quest five times, every single time we get to the "bar" and someone does something stupid and we all die... every. single. time.  It is ridicilious (sp!)

Also, I decided to try my hande in Scholomance.  It was nice, I was with a very competent group.  We had two priests to heal, a warrior, and two pallies (me being one of them).  The priests kept everyone alive with me doing backup if they run out of mana.  We got through about half way and someone gets disconnected (Comcast internet was being stupid for them).  So, we hang around hoping he would come back, but he didn't (someone in our group knew him personally and called him, his internet wasn't coming back on).

So that was pretty dumb, because next time we will have to do all that over again... and that took about an hour (not to mention the time it takes to get a group together and get everyone to the instance entrance).

I joined a new guild... I cannot remember the name though.  They said they might do that instance, so hopefully they will when I log in tonight.
Posted by Chet at 2:36 PM0 Comments

So, I finally made to to level 60.  The final level in World of Warcraft.  It was a beautiful thing.

Level 60 may be the highest level, but it is far from the end of the game... most things don't even start until you hit that level.  Special armor is available now.  Also, since you are not worrying about leveling you can work on increasing your reputation with different factions.  Battlegrounds are great and you can work on your PvP rank (I am on a PvP server, so you really need to do battlegrounds to get PvP rank).  I am a corporal now.

Also, my fishing level is way down, I need to work on that... it is a lot like retirement.  I spent so much time just existing that i didn't have time to do other stuff.  Now I can concentrate on "hobbies" like blacksmithing, fishing, speculative investing in the Auction House (buy stuff that is cheap (so it sells quick) and put it back on for a reasonable price). I recently learned that fish are hot items in the AH and a great way to make money.

I also made it to level 300 in mining which is the maximum amount.  I don't think there is any need for increasing after 275, but it is nice to have it maxed out.

I can also get all my weapon classes up to the maximum so I can use any available weapon (maces are way down).

Oh, yeah, and the best part (I think) is I can get my "epic mount" which is an extreemely fast horse.  It is going to cost me hundreds of gold, but it looks worth it.

Anyway, I will be spending a lot of time in the Battlegrounds this week since Amanda is gone.
Posted by Chet at 2:32 PM3 Comments

My wife's vehicle is in the shop because we were rear-ended a few weeks ago (don't get me started on why it is still in the shop).  Some kids in our church youth group went to a mission trip in South Carolina and the person that said we could use his/her van backed out at the last moment.

Amanda is one of the sponsors; therefore, we had to rent a car to get up there.  The insurance will pay back the standard rental rate up until the time that our SUV is released, we have to pay the rest (any additional days as well as the $10/day addition for out-of-state driving).

We get a very small car to save money (a Ford Focus) on Saturday at 12:00, right as Enterprise is closing.  My wife gets in and we drive to Wal-mart.  When we get there she gets out and tells me the car absolutely stinks of cigarette smoke!

Aside: I do not have the sense of smell (I make up for it with a keen sense of humor), so I have to take her word for it.

Well, I call Enterprise and they have already gone for the day... and they are closed Sunday.  Amanda needed to leave by at 5:00AM the next morning, so that pretty much removes our ability to get a different car.

It is a ten hour drive up to SC.  Can you imagine being stuck in a car that reeks of smoke for 10 hours?  Hard to breath, burning the back of your throat.  Its way to hot to roll the window down.

Anyway, I call Enterprise today to complain.  I am not looking for a discount or for a replacement car (Amanda already told me that she does not want to deal with it up there), but I would expect them to offer both.  All they tell me is sorry (very sorry).  I am thinking you have got to be kidding me.  I would think they would insist on calling an Enterprise Rent-a-car up there and having a replacement brought straight to her... that would have been the right thing to do.

No, nothing, all I get is a sorry and maybe we can work something out when she gets back.

How in the world can a customer service rep rent out a car in that condition?!  It is absolutely outrageous (which is why I am outraged).  I am thinking about calling their national offices... they would probably just tell me to call the local branch though.

And its not like this is a day or two rental... this for nine days!  We are paying beaucoup bucks for this.
Posted by Chet at 2:22 PM0 Comments

I was going to post a video called "The Easter Bunny Hates You."  It is hilarious... until the very last frame where they decide to use an expletive.
Posted by Chet at 2:19 PM0 Comments

Just in case you ever need to shread a van, you will know where to turn.

Slashbuster makes a whole tree shredder.  They decided to test out the teeth of the grinder by using it on a Dodge Caravan.

You can see the results.
Posted by Chet at 2:12 PM1 Comment

My wife starts singing "Come into my tummy, oh so very yummy."

And to make a short story even shorter, check out this video: http://www.iloveegg.co.uk/newsite/eggsong_popup.htm

At CIY they started off every morning by playing that "intro" video and then playing one of the episodes from
http://61.107.1.124/animation.asp (that is the English version).

The eggs can turn into anything they want, the episodes get better as you get further along.

It is weird, but very funny.  And the song gets stuck in your head.  Ask Joe, he knows.
Posted by Chet at 1:59 PM1 Comment

There has been an annoying "bug" in Visual Studio Web Developer (not in ASP.net) regarding inline code, <% %>.  If you do a combination of inline code with if... then statements it occurs.  It doesn't cause problems at runtime, but boy it sure is annoying to see dozens of them in the Error List.

So, every few months I look through the forums to see if a solution has been posted... and finally it has.

Here is an example of the problem:

<% If (True) Then %>
      <%=1 %>
<% End If %>
<%=2 %>


From the post, "In order to provide intellisense in <%= %> blocks at design time, ASP.NET generates assignment to a temporary __o variable and language (VB or C#) then provide the intellisense for the variable. That is done when page compiler sees the first <%= ... %> block.  But here, the block is inside the if, so after the if closes, the variable goes out of scope.  We end up generating something like this:
If (True) Then
      dim @__o as Object
      @__o = 1
End If
@__o = 2


So obivously the @__o cannot be used after the block closes, but it is, so it throws an error.

He says that the workaround is to put <%=""%> at the top... and it works beautifully.
Posted by Chet at 1:15 PM1 Comment

I don't know how I missed it.  Perhaps it is new to .NET 2.0 or something.

I always do If Not(thisObject is Nothing) Then ...

Sure, it works.  But I always forget to type Not() and have to press the back arrow (I don't know why, I just forget).

Well, in VB.net, there is a better way: If thisObject IsNot Nothing Then ...

This is useful when you want to make sure a form element exists before accessing it (Classic ASP would return null, ASP.net throws a null exception error).

If Request.Form("myElement") IsNot Nothing Then Response.Write(Request.Form("myElement"))
Posted by Chet at 2:29 PM0 Comments

While I am not terribly good at it; designing websites with user's in mind is something I strive to do.

During some research I found this website.  It has some pages on usability by a guy who cares.

One page really caught my attention.  I had seen the "illusion" before, but not in a usability context. http://www.experiencedynamics.com/science_of_usability/cognitive_science/
Posted by Chet at 11:04 AM0 Comments

Amanda is out of town all week at a Christ in Youth Conference.  I am extreemely bored.  I was looking for something to do on Saturday and I remembered that I own SimCity 3000, so I decided to install that and play it--reverting to where I was before I met Mandy.  However, I could not find the CD.  So, in one of those rare legal downloads (not by me, but in general), I found it a torrent for it and downloaded it.  It didn't finish until Sunday morning.  I got home from church and found that it is... in polish. AHH.  Well, I deleted it and then found a patch that will convert it to English.  Wow.  I re-downloaded it (8 hours).  However, I knew I could not go a whole other day with nothing to do.

So, I reactivated my World of Warcraft account.  I cancelled my account earier because I was bored with it and I didn't want to pay $15/month for something I don't use.

I get to playing and realized that it is still boring.  You see, I am in Western/Eastern Plaguelands, it is nothing but instance quests and grinding.  I don't want to do instance quests because you need a group and I don't feel like wasting time getting one together.  Grinding takes forever, mobs that are my level and lower were just taking forever to kill.  And forget taking on two at a time.  I died constantly.

I started off as a low 57 and made it to 58 by Monday night.  Then I went to the auction house to get some more gear when I finally figured out what was going wrong... I was *way* underpowered.  There was gear there for lvl 56/57 and it was much better than what I had.

Using the large store of gold (18 pieces), I upgraded several pieces of armor.  Now I am having no trouble.  I wish I would have realized that before.


Anyway.  Now comes the extreemely annoying part.  Yesterday they released a new patch.  But I guess it caused realm issues.  After mowing the lawn, making dinner, and installing the 50MB patch, it was about 9:00.  I go to log in and I cannot.  For two hours I wait (and play SimCity), nothing.  Talk about lame... I am probably only going to be playing this game while Amanda is gone and I lose 1/7th of my time right there (sure, it wasn't down all day, but it was as far as I was concerned).

On the SimCity front: I downloaded it and successfully installed the new language files.  I started a very nice city and I have $2,000,000 in the bank (which is good).
Posted by Chet at 8:50 AM1 Comment

When using Microsoft's automation COM objects for Office (to programatically get at Word or Excel) you have to remember that you are dealing with unmanaged code.

The COM object is being wrapped by .NET code which keeps track of reference counts and such.  Until all references are closed and the garbage collector runs (which happens at an indeterminate time in the future) the Office application will not close.  Therefore, just calling

MSExcel.Close()
MSExcel = Nothing


Will not cut it.  You have to release the COM object when you are done.  I went to Microsoft's website to get the appropriate code.

Basically, you have to execute

System.Runtime.InteropServices.Marshal.ReleaseComObject(MSExcel)

To actually finish the process and close the app (if you don't do this you will have dozens of Excel applications open).
Posted by Chet at 12:46 PM0 Comments

So, North Korea is going to test-launch a missle... over Japan.  Japan is worried, the United States is worried.  Pretty much everyone in range is worried.  And what do we do about it?  Threaten sanctions!  How about this: you cancel your launch and we won't bomb you into last century.

What is wrong with people... if the launch is successful, they will feel emboldened.  All they have to do is attach a nuke (which they claim to have) and we have a stand-off.

I see a launch of a missle over another nation as an act of war (they did it in 1998).  Simply threatening it is bad enough to take pre-emptive action.

And, technically, we would not even need to send troops.  We can bomb them from right here.

Not that I *want* to bomb them, but do you seriously want to wait until they are a genuine threat to us and our allies?
Posted by Chet at 3:20 PM0 Comments

I am sure you all know about the European Union (the political and economic "super-state").  Although it does not technically have jurisdiction to override a member nation sovereignty, many times its policies are the effect of binding law.  It purpose is primarily to promote free trade throughout the region and provide security to its members.

However, in practice, things are different.  The EU grew out of a desire to be unified after World War II, but its main proponents used it to disparage national unity.  The EU states have no true borders, people can come and go as they please.  The EU attempts (through policy) to make the living standards (read, "civil rights") equal among all states.  Also, most of the member states have transisitioned to the euro.  Sure, there are still distinct nations, like France, Germany, etc., but how far do you think they are from just reorganizing those into Administrative Districts and making the EU the actual nation?

Not far.

What does a political conservative look to the national government to do?  Technically, it is quite simple: standard for currency and interstate trade, protection of the borders, limited state assistance during crisis.  The United States Constitution added on a few more responsiblities, primarily to make sure all the states were on the same page as far as individual rights go (ie, Bill of Rights).

The European Union provides all of those services (and more).

So, how would you like to have this with America?  We could bring Canada, Mexico, and the United States, into supra-national body that governs (but does not have absolute power) trade? It could later be expanded to include border protection, and then currency, civil liberties (how would you like to have Canada's wacko social standards voted through?), and assistance spending to bail Mexico out.

Now, how would you like it if it was already in the works?

I am no conspiracy adherent, but there are some governmental and non-governmental agencies that appear to be working on this.  The first step, of course, is trade: http://www.humaneventsonline.com/article.php?id=15497.  You can see a map of the road they intend--and will be starting on next year--to build here: http://www.nascocorridor.com/index.htm.

I don't know much about it; I just heard it on the radio and had a friend email me more information.  I will say that is isn't a bunch of liberals saying it (nor would they, anything to lessen American (that is, United States) sovergnity is good).  One of the biggest things is that Congress has not, let's say, openly approved of this.  Nor do they really have to.  If Bush can get the Department of Transportation the money, they can start on projects throughout the country.  Congress would only need to get involved at the end.  This assumes that Congress doesn't know about it yet, which I find absurd.

If I get more information I will post it.  I am just doing my small part to get the word out.

Now, the EU started by combining pre-existing trade and labor organizations, it wouldn't be hard to combine NAFTA, CAFTA, and NATO together.

Can we do anything to stop it?  I am a bit of a pessimist when it comes to the little people doing anything.  All I can say is, "American Union, here we come!"
Posted by Chet at 10:45 AM1 Comment

I am getting a TON of comment spam on the scratchpad.  I have it set to IM me whenever invalid text is posted, and I get about 10 per day.

So, even though none of the spam is being successfully posted, I have renamed the page to Notepad to throw the bots off (they will have to reindex my site to get the page).

Not that it really matters, but that is what happened to Der Scratchpad.
Posted by Chet at 9:47 AM0 Comments

Batten the hatches and hunker down, Tropical Storm Alberto makes the first move.

Well, we are getting the first rain for what is suppose to be a very active hurricane season.

I spent the last hour cleaning my 18" chain saw very good... hopefully I won't have to use it.
Posted by Chet at 5:47 PM1 Comment

I was creating a VBScript transformation for a date in SQL DTS.  I had to track down a bug, after I finally fixed it I kept getting this error:

"Active X Scripting Transform 'DTSTransformation__X' was not able to initialize the script execution engine."

I tried other scripts, they didn't work either.  I created a new script with the default (very simple) code and it failed.

Well, I did a Google search and came up with a bunch of websites that essentially point to http://www.sqldts.com/default.aspx?224.

I followed the instructions to re-register the various DLL files (especially axscphst.dll), rebooted several times, and it didn't work.

I noticed one message board mentioned that completely reinstalling MSSQL Server might help.  I only have the client tools so it isn't a big deal to reinstall.  So I uninstall, reboot, and then reinstall.  Still doesn't work.

I remembered seeing something about reinstalling Internet Explorer... that is no small undertakings since it is pretty much attached to the Operating System.  Microsoft's KB article on the topic suggests running sfc /scannow to repair the installation.  It takes about 10 minutes to run and requires the Windows XP CD.  So, I run that.

While running that, a website said I could run rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %windir%\Inf\ie.inf to do an in-place reinstall of IE6.  That asks me for my Windows XP CD and Windows XP SP2 CD.  Luckily I have access to both so I do that.  It doesn't help either (and it probably made this worse, but I cannot prove that).

I decided to just create a new package and see if it had the same problem.  It did not.  It worked!  Very odd, appearently the package was corrupt.  I had all the code saved to a notepad file that I keep for all projects so I just recreated the package.  It all worked fine.

Extrodinarily annoying.  Took nearly an hour from the error message to resolution.  I don't even know why it happened... it truely came out of the blue.  One moment I was running the script, I clicked the Execute button a second time and it failed.

Anyway, I am posting this because most people have the issue resolved by running regsvr32 axscphst.dll from their MSSQL installation directory, but that didn't work for me.
Posted by Chet at 12:47 PM0 Comments

This is just weird.  Appearently there are a ton of websites modeled after www.yourethemannowdog.com website which has a photo of Sean Connery in Finding Forrester.  Along with the tiled photo is a looping soundtrack that consists soley of him saying "You're the man now, dog!"

While reading the Wikipedia entry for YTMND phenomenon I found this: http://picard.ytmnd.com/.  What is wrong with some people?  It is funny though.

Here is how I found out about this out:

Slashdot article called "Verified: Record-breaking Pitfall! Run"

While perusing the comments I saw this one by eldavojohn which talks about M.C. Hammer buying a large mansion.

While reading I saw a phrase that I have heard before but never understood, so I clicked on it (the phrase is "Internet meme", what is a meme?)

I still don't know what a meme is, but I noticed a list of People.  One is Sean Connery (of Time Lock fame), and it mentions that someone has a website of him repeating, "You're the man now, dog!", in a loop.

That is pretty strange, so I click the link.  As I am reading I notice that the original site had a list of other sites like it, it is now located at http://www.ytmnd.com.

The YTMND that really gained popularity for YTMND is http://picard.ytmnd.com/.

Talk about stream of consciousness. . .
Posted by Chet at 4:17 PM0 Comments

Microsoft Windows Vista Beta 2 is now available for public consumption.  It was released about 3 weeks ago for MSDN subscribers.

I am downloading the 3.12GB file right now, I am at -6% completed (thats right, negative).

http://www.microsoft.com/windowsvista/getready/preview.mspx

I don't have anywhere to install it... nor do I have time.  But it doesn't expire until June 1, 2007 so I want to get it for when I am ready.

It was funny, I signed in to download it and it gives me my CD key.  It says on the page to print it out for future reference, but when I printed it the CD key didn't show up... odd.
Posted by Chet at 11:08 AM0 Comments

I don't even know how this is possible.  No road lines, no traffic signals, no stop signs.  Just go, go, go!!!  Go fast if you can, also.

Notice that at around a minute and thirty seconds there is a car at the top-center of the screen going against traffic for a bit.

http://www.youtube.com/watch?v=RjrEQaG5jPM
Posted by Chet at 12:38 PM0 Comments

I called up Orlando Utilities Commission because our power was out.  I get "Press 1 for English; Para Espanol marche dos."

What is up with that?  I live in an English speaking country; it should be assumed that I speak English.

If this was a private company I would not only understand, but I would fight for their right to use whatever language they want... but it isn't.  It is the public utilities service.

Since I am on the topic of language, let me point something out.  When God wanted to disintegrate the people at Babel he confused their language.  The language barrier is one of the most fragmenting aspects of humans--moreso than color and religion.  Before we start embrasing multiple, coexisting languages, we need to think about the effects that it *will* have.

I am not against Spanish-speaking people or anything... I am not saying that they are worth more or less to God or our society.  I am just saying that God knew that fragmenting language would provide an adequate barrier so the barrier must truely exist.
Posted by Chet at 10:35 AM0 Comments

I was reading the Wikipedia entry for Paul Harvey.  If you have never heard of him don't feel bad; I stumbled across his radio "show" on accident.  His "Rest of the Story" segment lasts about 5 minutes and it comes on at 6:03 on AM580 WDBO.  It is usually very good (he is old, and he is catering to older audiences so I often don't know the famous person he is talking about).

Anyway, towards the bottom is a section titled "Controversial Quotes".  It contains one of the most thoughtful quotes I have ever read, it is in response to our response to the World Trade Center attacks:

"Winston Churchill was not here to remind us that we didn't come this far because we're made of sugar candy. So, following the New York disaster, we mustered our humanity. We gave old pals a pass, even though men and money from Saudi Arabia were largely responsible for the devastation of New York and Pennsylvania and our Pentagon. We called Saudi Arabians our partners against terrorism and we sent men with rifles into Afghanistan and Iraq, and we kept our best weapons in our silos. Even now we're standing there dying, daring to do nothing decisive, because we've declared ourselves to be better than our terrorist enemies -- more moral, more civilized. Our image is at stake, we insist. But we didn't come this far because we're made of sugar candy. Once upon a time, we elbowed our way onto and into this continent by giving smallpox infected blankets to native Americans. Yes, that was biological warfare! And we used every other weapon we could get our hands on to grab this land from whomever. And we grew prosperous. And, yes, we greased the skids with the sweat of slaves. So it goes with most great nation-states, which--feeling guilty about their savage pasts--eventually civilize themselves out of business and wind up invaded and ultimately dominated by the lean, hungry up-and-coming who are not made of sugar candy."

Wow.

Remember, before the Romans fell to the attacks of oursiders, they fell to the attacks of insiders.
Posted by Chet at 11:35 AM1 Comment

This is pretty funny.  I pulled from http://www.540wfla.com/pages/bud/.

Do you keep falling asleep in meetings and seminars? What about those long and boring conference calls? Here's a way to change all of that.

1. Before (or during) your next meeting, seminar, or conference call, prepare yourself by drawing a square. I find that 5" x 5" is a good size. Divide the card into columns-five across and five down. That will give you 25 one-inch blocks.

2. Write one of the following words/phrases in each block:

* synergy
* strategic fit
* core competencies
* best practice
* bottom line
* revisit
* expeditious
* to tell you the truth (or "the truth is")
* 24/7
* out of the loop
* benchmark
* value-added
* proactive
* win-win
* think outside the box
* fast track
* result-driven
* empower (or empowerment)
* knowledge base
* at the end of the day
* touch base
* mindset
* client focus(ed)
* paradigm
* game plan
* leverage

3. Check off the appropriate block when you hear one of those words/phrases.

4. When you get five blocks horizontally, vertically, or diagonally, you win.
Posted by Chet at 3:44 PM0 Comments

My brother is in Maine right now, he doesn't like it: too cold.  So, I got curious about the state.

Look at this picture of Maine...

http://www.chetos.net/images/misc/Maine_population_map.png

What is up with the north-west side???  Less than 1 person per square mile!  I think we need to let Canada have that land because... we ain't usin' it.
Posted by Chet at 1:50 PM0 Comments

Well, it works.  I have the website set to IM me whenever an invalid one comes in and it happened four times last night.

I think I will put up for comment posting as well; not that it matters, nobody comments anyway.

Also, I am going to make it so if the "person" fails the test three times he will be banned for a few days.
Posted by Chet at 9:58 AM0 Comments

Looks like I am going to have to start taking snapshots of the Scratchpad.  Looks like some blog spammer figured he would just wipe it out and put a broken link it it...  I don't even remember what was in there (and I shouldn't have to remember, that is the point of the scratchpad).

But, it is my own fault for opening it up.  Now, whenever the content is changed it will create a new entry, not just overwrite the old one.

UPDATE: I was hit again.  However, last night I wrote a simple CAPTCHA which should help.  Right now it just asks a question (I think it is better to ask a question rather than show an image).  The question is static, and I will leave it that way until I get more spam.
Posted by Chet at 2:22 PM0 Comments

I should have written something last month.  For some reason I thought I started in May.

One year ago I had just ordered World of Warcraft and I was waiting for it to arrive (which took way too long).  I don't play it anymore because... well, for many reasons.  Lack of time is the biggest.

What has happened list last year, let me peruse the blog and see.
I played WoW a lot.

My home computer died; but I got a new one.

I got that bootloader itch and it went nowhere.  However, I did get further than I usually do (and when I get it again I will go futher again).

I read the Chronicles of Narnia for the first time in my adult life.

Straightened the palm trees in my back yard.  They are doing very well.  We also had a pine tree cut down.

I made a bunch of code changes to chetos.net so it works properly in Firefox.

I Hung drywall in Grandma's attic in August and hung ceiling fans (a few months ago).  My wife and I also got bikes (which we don't ride often enough).

Went to Busch Gardens for the first time.

I started a great new job.

My wife's grandma came to live with us while her house is being built (in Texas).  She is getting ready to leave in about a month.

My wife and I became small group leaders with our church's youth group.  She has 9th and 10th grade girls and I have 9th and 10th grade boys.

I gained a solid knowledge in ASP.net and true object oriented programming (I worked so long in VBScript I wasn't used to it).

Also, for some reason, my site gets about 1000 hits per week. And about 150-200 per day.  I don't know who these people are.  Also, I am pretty sure they are not from mexico looking for game cheats because I am not counting hits from spanish language search engines.
Posted by Chet at 4:11 PM0 Comments

I need to do some heavy-duty user input validation in Javascript.  The best way to do this is through something called Regular Expressions.  They have been around for decades and are designed for pattern matching in strings.  Here is an example of a USA currency validation pattern: /^\$?\d{1,3}(\,?\d{3})*(\.?\d{2,})?$/  That will match any string with or without a dollar sign ($) with or without commas (but if there are commas they have to have three digits between them).  The first group of digits can be 1-3 digits long.  Also, it checks for a decimal, if there is one then you have to have at least two digits after it (you can have more though).

That would have taken many lines of string-manipulation code to handle it.  But I can do myString.search(currencyPattern); and it will return true if it is valid.

Let me break it down some. The entire thing is enclosed in forward slashes:
//

The caret (^) in this context means "find starting at the beginning":
/^/

The dollar sign has special meaning so to use it normally you have to "escape" it.  That just means putting a backslash in front of it.  Also, we want to find the dollar sign 0 or 1 times (i.e., it is not required, but it can only be there once).
\$?

After the dollar sign we want to find the first group of digits.  It can be 1 to 3 digits long.  The \d (lowercase d) means any digit [0-9].  A curly brace with two numbers means at least the first and at most the second.
\d{1,3}

So far we have /^\$?\d{1,3}/ which by itself would match an optional dollar sign and one, two, or three digits (ie, $1; $123; 12; 000; would match).

Now we have the tricky part.  We want three digits seperated by a comma... however, the comma is not required.  Also, the comma is a special character (like the dollar sign) so we have to "escape" it as well.  We follow the comma by a question mark to indicate 0 or 1 times.  We put a \d after it to indicate that it should be followed by digits only (no letters, spaces, etc).  And follow the \d with a {3} with means three digits must follow it (no more, and no less).
We put all of that inside of parenthesis because it is a group: (\,?\d{3})*  We put an asterisk (*) after it to say that this group can repeat 0 or more times (so we can have multiple groups).

And the last part is for the decimal point.  A period is special so we have to escape it (\.) and we want it to match either no times or one time.  We must follow a decimal with two or more digits \d{2,}.  We put all of that in parenthesis to group it.  We follow the group with a question mark to indicate that this (eg: .000) can either happen once or never (not more that once).  If we wanted to require the decimal (and some numbers after it) we could replace the question mark with {1}.
(\.?\d{2,})?

The final part is a dollar sign (not escaped) which is the opposite of the caret at the beginning.  It means that that must be the end of the string.  Ie, without the ^ and $ we could correctly match "abcd$123,344.30efgh" because the number is properly formatted inside the string.  The ^ and $ just make sure there is nothing before the actual dollar sign and after the decimal digits.

/^\$?\d{1,3}(\,?\d{3})*(\.?\d{2,})?$/

It is pretty complicated once you get into more difficult stuff.  Of course, this was just digit matching, there is a plethura of special characters for letter, whitespace, words, lines.  There are also concepts that I have not used such as backtracking.

You can find an extensive review or a good Javascript-specific article.  For a list of different codes and for a tester/parser go here.

One thing that was somewhat counterintuitive (in Javascript) is that you don't assign the regex to a "string" per se, you just say var myRegEx = /.*/g; (which would match anything).

This is not meant to be a guide really, just to break down a common pattern without having to wade though ten pages of explanation.  Also, they always start with a /abc/ will match "abc" anywhere in a string... And they talk about that for a while, which is nice to know but entirely devoid of usefulness.  This is more pragmatic than instructional.  Also, it is here to provide a bookmark to RegEx references.
Posted by Chet at 3:45 PM0 Comments

I have had beta editions of Visual Studio Express for about a year now.  When I started my new job I went to Microsoft's site to download the non-beta version.  I was suprised to see that they decided to release it for free until December, 2006.

Well, thankfully, they have decided to release it for free forever.

The Express edition of Visual Studio products are more lightweight and are missing some advanced functionality.  However, they are fully licensed for commercial use... even SQL Server 2005 Express is free.  Sure, there are some things you cannot do with it, but it is still a solid DB server.

Microsoft is doing a good thing here.  They sell a platform.  People use platforms because there are applications that they like that run on it (which is why Mac did not do so well for many years).  By giving out the tools to allow developers to work on the platform they dramatically increase their user "buy-in".

Anyway, I am happy about it.

I have been meaning to post several blog entries the last few days but I am way to busy when I get home.  Maybe Ill write some over the weekend.
Posted by Chet at 1:39 PM0 Comments

ASP.NET offers several data objects that persist across website visits.  There is a session object for each user (the server maintains status using cookies), an application object for the entire server, and a new (to ASP.NET 2.0) cache object which is basically a data holder that can expire based on several events.

Now, lets say you create a custom class/object and want to save it.  First you would create your class:

Public Class MyClass
     Public Sub New()
     End Sub
End Class


Then you call

Dim classInstance As New MyClass()
Application.Add("ClassIdentifier", classInstance)


Well, you go and try to retrieve it later on using

Dim mySavedClass As MyClass() = Application.Item("ClassIdentifier")

Alas! it fails saying "Unable to cast object of type MyClass to MyClass" which doesn't make any sense.  Obviously it knows the type in the Application object (MyClass) and it knows the type you want it to become (MyClass) and they are the same.

The secret it not out there.  I am writing this so it might become so.

The answer is you cannot save "normal" classes to those ASP objects because they are serialized and saved to memory.  In order to make your custom class work you have to mark it as Serializable.  It is easy and takes just one partial line of code.

<Serializable()> Public Class MyClass

Just prefix you class declaration with the serializable attribute.

Why this information is not out there I don't know.

P.S. I could be wrong as to exactly why it needs Serializable, but it fixes the problem.  Also, I cannot say if there are any performance issues with its use.
Posted by Chet at 3:47 PM0 Comments

This blog post is a pretty good sumation of commonly seen AJAX vulnerabilities.  It doesn't really share any methods for fixing them, but at least it will get your mind thinking about them.

http://www.darknet.org.uk/2006/04/ajax-is-your-application-secure-enough/
Posted by Chet at 12:55 PM0 Comments

April 1st, 2006, at 12:02AM, Levi Wayne Johnson was born.  How is that for luck!  Everyone (except me I guess) was hoping he would come a few minutes sooner.  I think that every single year I will pull an April Fools Day prank on him by telling him I didn't get him any gifts this year.  That will probably get old after about 5 years, but that is what uncles are for.

He is health an happy appearently.  Weighted in at 7lbs 4oz, a little less than a gallon of water.

Photos available: http://www.improvestrategy.com/levi/album.htm
Posted by Chet at 10:00 AM0 Comments

Lets say you want to execute a function, but you don't want to determine which function to call until runtime.  The appropriate method is to do this:

var methodName = prompt('Enter a JavaScript function name.');
eval(methodName);


Would get a popup box with the "Enter some JavaScript" text and an input box.  He could then type in alert('Hello World'); and it would be executed.

Lets take this a bit further.  What if you wanted the server to be able to tell the browser what to do using JavaScript at runtime?  Well you could use the new fangled AJAX to ask the server what to do, and then have the server reply with a function.  It would work exactly the same way, only it would be the server rather than the user supplying the methodName.

This brings up a interesting thing though... the server cannot know for certain if the function exists.  Assume the server returns response_populateSelectList(), if the client didn't implement it for some reason (or if it was misspelled) then it would "throw an error".  I say it like that because throwing an error in Internet Explorer is nothing like it is in a normal environment.  All you get is a notification that an error occurred on some line.  That line number can be (and usually is on very large projects) wrong.  Futhermore, it won't tell if you which source file it was in.

There are two methods for determining if a method exists.

if (alert) {
      alert('true');
}

if ((typeof alert == 'function') || (typeof alert == 'object')) {
      alert('true');
}


The first method works for most built-in objects.  The second works for user-defined functions as well.

However, going back to our origional example.
var methodName = prompt('Enter a JavaScript function name.');
eval(methodName);


The variable methodName is a string, it is not a function, so doing typeof methodName will return string not function.  You have to use the eval() method to your advantage and have it check for you.  Also, chances are your function is a sub-set of the window object so you have to prefix it with the declaration.  Hence:
if (!('function' == eval('typeof window.' + methodName))) {
      alert('Invalid function call: ' + methodName);
      return false;
}


Now, when you pass an invalid function it will tell you, rather than just having to guess exactly what went wrong.

Oh, while we are on the subject.  If you ever want to pass parameters to your method:

var methodName = 'alert';
var parameterList = 'Hello World';
eval(methodName + '(parameterList);');
Posted by Chet at 4:36 PM0 Comments

You cannot use html entities like &nbsp; in XML because they don't exist.  If you need a non-breaking space (like I did) use the unicode value, which is &#x160;

Reference: http://lists.xml.org/archives/xml-dev/200009/msg00048.html
Posted by Chet at 7:11 PM0 Comments

Anonymous posted a comment to abortion subterfuge.

You my friend, are a freaking idiot. "Easy way out and kill the child." First when is getting raped, or having your father conceive your child "easy". It wrong, and it's wrong to punish the child with a lifetime of mental, physical, and emotional difficulties of being a victim of incest. Scientifically, and physically speaking children conceived in incest are genetically flawed -- meaning that they will be susceptible to all kinds of deformaties and abnormalities. Is it morally right to punish someone for a crime it did not commit, that you are so keen to ask. There is no need to change the law, it already exist!
Posted by Anonymous at 2:10 PM

I "liked" it so much that I responded to it.  I think it is important enough to put as a main post.

First, I never said anything about being raped being easy... that is not even the point.  The point is that people find it easier to kill the child rather than change the law that makes parental responsiblity complicated (eg, should a rapist have parental rights to the child?)

By your reasoning we should abort any child that has any genetic abnormality because there is a chance of deformaties and abnormalities (this may suprise you, but not all children of incestual relationships end up having problems).

Therefore, we can now abort anyone with signs of Down's Syndrome, Turner's Syndrome, sickle cell anemia, diabetes (in some cases), cystic fibrosis, color blindness, thalasemia, etc.  We don't even to wait and find out if the mutated gene will manifest itself... it is entirely possible that the person will only be a carrier of a defective gene.

I am not even going to talk about the mother's choice issue as you are bringing up purely medical "reasons".

Now, in what way is allowing a child to live with physical, mental, and emotional difficulties a punishment for a crime?  Is not killing someone who was beaten badly punishment?  If someone maliciously throws acid in my face should I be killed so I am not punished with a disfigured face? According to your reasoning, I should be.

Now lets take it a step further, lets say someone accidentally throws acid in my face... should I be killed?

Your arguments make no sense, and you take the worst-case senario and act as if it is the norm.

Also, am I really your friend?  Or are you just being rhetorical?
Posted by Chet at 4:46 PM2 Comments

As you may recall, I recently changed the background color of my applications to a off-white.  It is #FFFCF7 in hex.

I also changed my font to Bitstream Vera Sans Mono.  It is suppose to be a programmer friendly font, and it is very nice.  I forget where I downloaded it at, but just do a google search and you will find it (free).

Since I like the softer background color I decided to change the website background color to it (not quite as yellow because it looked bad).  Wow!  It makes quite a difference in the readability.
Posted by Chet at 6:38 PM0 Comments

I was reading an article today.  It was nothing special, just telling us why normal people cannot/will not program (which I disagree with).  However, it did have a quote that I found insightful:

<<quote>>
In Don Norman's wonderful book "The Psychology of Everyday Things" (now called "The Design of Everyday Things" in paperback) he provides these "principles of good design" (at the end of Chapter 2):

Visibility. By looking, the user can tell the state of the device and the alternatives for action.
A good conceptual model. The designer provides a good conceptual model for the user, with consistency in the presentation of operations and results and a coherent, consistent system image.
Good mappings. It is possible to determine the relationships between actions and results, between controls and their effects, and between the system state and what is visible.
Feedback. The user receives full and continuous feedback about the results of actions.
<</quote>>

I haven't read the book, but let me give some quick examples about what these mean.

Visiblilty - The user doesn't have to perform any action to determine what is going on currently.  It is obvious that a page is loading, or a file is being downloaded, or database record is being processed.  Also, if the user is able to do something besides said action, those actions are present on the same "layer" as the current action (ie, not hidden beneath a menu).

Good mapping - This is extreemely important for web development.  The user needs to know exactly what is going to happen if he clicks a link or submits a form.  In some ways it is more important for a web-app than a normal application because the modified data is stored on a server which the user doesn't have access to.

Also, making sure that all the green buttons with an arrow do the same thing.  Consistency is the key for usability.  If I have a menu on the left side, I cannot just put it at the top for some pages if I run out of room.

Feedback - I am sure this is important for websites, but I cannot think of a good example right now (I can think of some, but they are too obvious).  It is important for standalone applications, a great example is the mouse cursor changing to an hourglass when a process is executing.


Anyway, I am always looking for ways to make my applications (usually web-based) more user friendly.  I have come a long way--mostly due to the fact that Infinity Technologies' applications were for very computer-illerate people.  But even still, I often find myself taking a path that is obvious for a computer-person but convoluted (or confusing) for most people.  A good example is a newletter signup form.  *I* am inclined to just put a textbox up with a submit button (maybe say "Email:" next to it).  I do this because if I were to go to a website asking to sign me up, I would know what to expect.

However, lots of people won't do it because it isn't obvious enough (not to their discredit).  Having something like "Enter your email address in the box below to receive email updates." is much better.  Then have the input box have large type and enough room to fit a standard address.  Also, make sure the submit button is clear (eg, have it say "Subscribe" or "Register" rather than an image with a circle in it).

Paying some attention to the way a visitor sees your site makes all the difference.  Don't assume that everyone intuitively knows what to do next.

There is a website that I like that discusses usablility issues, it is called flow|state.  I have mentioned it before.
Posted by Chet at 6:18 PM0 Comments

I was perusing the blogs I subscribe to and found a good writeup about a certain inconsistency among abortionists.

The main point, which was said well, is that there is no difference between a child conceived by consenting adults versus a child conceived by a non-concenting person (ie, rape and incest).

If your only problem is with the legal consequences regarding this act (like the rapist having full parental rights) then change the law, don't take the easy way out and kill the child.
Posted by Chet at 10:10 AM2 Comments

Turning on Option Explicit and Option Strict can increase the performance of your web applications.  ASP.NET 2.0 by default enables Option Explicit -- which means you are suppose to explicitly declare your variables (as opposed to simply using them).  This is nice and all but how about Option Strict (which means you are suppose to "manually" perform type conversions).  Well, you could add strict="on" to the page directive of every single page... but this is a bit of a hassle, especially after you have already created your pages (or forgot to put them on some because there is no way to specify it by default).

Well, the quick way is to put <compilation explicit="true" strict="true" /> in your web.config file.  You might already have the <compliation debug="true" /> line in there, so just add the attributes.  If not, it is located at

<configuration>
    <system.web>
        <compliation />
    </system.web>
</configuration>


Don't worry if you see about 100 error messages come up.  Just go through and explicitly state the type of each variable (ie, if you say dim thisVariable = 10 then you would need to change it to something like dim thisVariable as Integer = 10.  Likewise, if you do a lot of type conversions you will need to explicitly state them, so rather than doing someInteger = 10 / 3 (which would results in a "double" type) you need to either redeclare someInteger as someDouble or do someInteger = Convert.ToInt32(10 / 3)

It ain't pretty, but it is what needs to be done.
Posted by Chet at 2:20 PM0 Comments

After years on not looking but rather waiting I stumbled upon Lincon's web site... it might not be his active one because he isn't that good.  It has been over one hundred fortnights and as many days and too little comes to much.

But enough talk, here it is http://mercyalley.blogspot.com.

His profile says that he is in Starke, so he must be doing hard time in state prison... that is not entirely unexpected.  And when I say "is" I mean that it probably is not somewhat expected but when it is not it becomes the lavish is so and so it is, but not so.

I have been to Starke a few times... good pig country.
Posted by Chet at 6:32 PM0 Comments

"They" played a funny video in church last Sunday.

http://www.sermonspice.com/catalog/product_info.php?products_id=413.

The preacher used it to constrast between the me church and the "the church".
Posted by Chet at 10:22 AM0 Comments

Since my wife was at a youth convention all weekend I played a lot of Warcraft.

I got to level 56 on Friday night... played all day Saturday and got to level 57 very early sunday morning.

Actually, I didn't play all day Saturday.  I rented Tron.

So, I managed to gain a full level in 24 hours... that is very impressive for the higher levels.  It usually takes several weeks for me.

I almost finished Attunement to the Core which would have been nice because my guild is doing end-game content and I could have participated if I had managed to finish that quest.

I also spend some time reading over computer processor design websites.  And I went ahead and bought Computer Organization and Design: Second Edition which goes over the basics of binary math as well as creating a ALU (which is the heart of the CPU).  I think it also goes over the Control Unit (which decodes instuctions into microcode).
Posted by Chet at 12:26 PM0 Comments

I saw this on Slashdot today and I figured I would save it.  Some day, many years from now, I will look around and see that oil hasn't skyrocketed, that "gee dubya" wasn't nuts, and things aren't unimaginably worse than they are now... not that things are that bad now.

This is a child topic about Bush having his finger on the GPS "off button".

watch it happen, it won't be long (Score:1) by Anonymous Coward on Sunday January 15, @11:55PM (#14479555)

You see what happens when the US and Israel attack Iran and screws over a huge amount of oil going to Europe and China and Japan elsewhere. You'll see who's an ally or not. NATO will half collapse overnight and become irreparably broken. hint: the US is increasingly becoming ostracized around the world. People do *not* like what our so called leaders have been doing lately. Plus, they righteously can see that gee dubya is *nuts* and has surrounded himself with people even nuttier. You are going to see oil skyrocket on the world market and investors dumping dollars as fast as they can. Then it will get worse from there. Bad worse, unimaginable worse. We haven't even approached the amount of global mistrust and ill will that the neocon crazies are capable of producing. And the neolibs are such wimps at the top and have so many of their own scandals yet to surface that they will let it happen, just like they let the iraq war happen.
Posted by Chet at 11:18 AM0 Comments

It is a bit clunky and "technically" inappropriate to use <table cellspacing="0" cellpadding="0" /> because those are presentation level attributes and HTML is suppose to be strictly content level... it is splitting hairs, I know.  However, this is the current push.

So, after years of using those attributes knowing it was incorrect, I decided to find the proper CSS way.  It is actually very simple and it works on all modern browsers.

In your CSS declaration for the table include {border-collapse:collapse;} and for the TD use {padding:3px;margin:0px;}.

If you are using the width or height attributes in your CSS including the padding will mess it up... just be sure to subtract (Padding X 2) from the width and height.

Hope that helps.
Posted by Chet at 5:03 PM3 Comments

Well, looks I jumped from the pot into another, cheaper, pot.

Brighthouse Networks advertises their Roadrunner Lite service as "less that 1Mbps, 5x faster than dialup."  Well, I get my service the other day and do a speed check... 256Kbps.  I thought to my self, "That is one quarter the speed I thought I would get."

So I call them up to inquire.  They admit that it is a bit misleading.  You see 56Kbps times 5 is in fact around 256Kbps (a little higher actually).  So when they say it is less then 1Mbps they are correct.  But they could have said "less than 192Gbps" too because it is just as skewed.  Yes, 256Kbps is less than 1Mbps, but when someone says "less than X" you figure it is going to be around X... not 1/4th X.

Well, at least unlike Sprint they were nice about it.  Nothing I can do about it.  I can still play Warcraft which is all that matters.

I am also getting comparible speed for $10 less.

Also, about Sprint.  I called up to cancel before my 1 year DSL contract ran out.  They said that there would be a $99 early termination fee... I said that my year has not expired.  They then informed me that when I called before because they messed up my bill it was renewed.  So I told him that it makes no sense that they would renew a contract just because I called up about a mistake THEY made.  Well, the "customer service" rep was quiet for literally 30 seconds... so I am like "hello?" and he said "one minute please"... then about 20 seconds later he says it has been taken care of... yeah right, we will see.

I tell you, I am convinced that every single "customer support" rep there is incompetent.  I have dealt with probably 9 of them which is probably a large enough sample.  I won't know if the person that "helped" me the other day is incompetent until I get my bill... chances are it will still have the early termination fee on it so I will have to call again.  Then they are going to have me pay it and credit my account.  I don't think I am going to let them get away with it again... I will tell them to send me a new bill.  No reason why I should have my cash flow messed up due to their incompetence.

It probably won't work, but it is definatly worth hassling them.
Posted by Chet at 3:08 PM1 Comment

I was visiting Google Lab's website when I saw a new beta service that they have; Google Video.

This looks like a very cool website, has nice video searching capabilities as well as a good built-in video player.  I was looking at their list of popular videos (on the homepage) and saw this movie which shows a AMD duron processor exploding.  Not only does it fragment the processor itself, it blows a hole in the motherboard *and* the table... ouch!

So, check out this website, but don't remove the heatsink from your processor.
Posted by Chet at 3:11 PM0 Comments

Ohh I cannot wait!  Sprint wants to raise my DSL+Phone bill by $25/month.  Little do they know that I just ordered cable Internet and it will be installed Thursday.

Amanda's grandma is living with us for a few months while her house is being built out in Texas.  She wants cable tv (the basic channels) so I figured now would be a good time to drop Sprint and get fast Internet.  My Sprint bill will be going up to $77.00/month next month, that includes the lowest phone service and DSL... that is all.  No call waiting, long distance or anything.  I will be getting cable tv and Internet for 47.00/month.  So if you take 47.00 and add 20.00 (for basic phone service) you get 67.00/month, so I am basically getting TV for $10 less... it is amazing.  And my DSL speed is pathetic, something like 128Kbps (I am paying for 512).  Roadrunner Lite is suppose to be something like 1Mbps, that is 8x faster than what I have.

Now, if I can find reliable VoIP service that is less than $20 I would drop Sprint altogether!
Posted by Chet at 2:59 PM0 Comments

I played Warcraft for several hours on Saturday and made it to level 54.  I am about 25% through it now, and I have enough quests to get me to 55 easily.

I spent all afternoon Sunday in my attic running phone lines and network cable, of course I would choose the hottest day in the last two weeks to do it.

Anyway, now my grandma has a phone in her room.  My office has a phone jack so I no longer have to run a cord from the hallway to the room (why there is a jack in the upstairs hallway and not the former bedroom is beyond me).  When I removed the faceplate from the wall I saw two cables coming into it.  One from below (which was live and runs to the box on the west side of my house) and other one from above (which was dead).  I traced that line through the attic and down the east exterior wall... I found the end outside my house coming out a hole in the wall... it was clipped off.  I am not sure what its purpose was, probably was the original POP for the phone system.
Posted by Chet at 4:00 PM0 Comments

Hope you all had a great year last year.  Let's look forward to another one!
Posted by Chet at 8:44 PM0 Comments

© 2014 Chet Zema π