The Dangers of ENUM and SET

I was browsing through the source code of WordPress this evening and noticed that it’s table creation statements used a lot of ENUM declarations for fields that are ‘Y’ or ‘N’. I am not dissing the code in any way but ENUM is not an across the board datatype. It is not in PostgreSQL at all and I believe there is a way to build it into Oracle.

The problem I have is that we (developers) have a huge push towards standards compliance with CSS and RSS so why not databases? I should be able to take code that is intended for MySQL and directly port it to SQL Server, Oracle, PostgreSQL, or Firebird. I shouldn’t have to worry about datatypes or whether sub-queries are allowed (since MySQL 4.1 they’re allowed).

I know what you’re thinking, “But Stephan, MySQL is the most commonly used Open Source database right now” and I agree but my issue is that in some situations MySQL either doesn’t cut it or there are issues with the host, company, etc. that keep MySQL from being installed.

It is not hard to use CHAR(1) to get the same effect as ENUM or SET. The real problem with the SET type is that if you make something like:

SET('Y','N')

technically it is completely valid to have a value in the database with (‘YN’) in the field. It is a dangerous type and I have slowly started removing it from my old code and not using it in new code.

This is not an attack towards Matt or any of the other WordPress developers, just some constructive criticism.

Why I Hate Dell

I tried making this post yesterday but the database choked or something and the post did not go through (another reason to write the post in Notepad first).

To begin, I have never been a huge Dell fan. I’ve always thought of their products as being second rate and even though recently their product quality has increased I still have issues with their technical support. In general I find outsourced tech support to be the most unuseful thing to a computer buyer.

I agreed to help a friend with her printer, which she received as a gift (along with a laptop) from her grandparents. She had a single piece of paper that had all of the information about the computer on it, which I thought would suffice.

On Friday afternoon I went to her apartment and started looking at the printer, it was one of those models that has a built-in scanner. The problem she was having was that the printer would crumple the paper and jam every time she tried printing. After a few different tries with it I thought I would use the paper feed to see if it jammed during every action. It did. My next course of action was to call technical support and see if they could give me any guidance.

Surprisingly, I was only kept on hold on Dell’s automated system for 10 minutes. After that I spoke to a human who asked me for the account number, which I gladly provided. He then asked me for the name on the account to verify the identity; No problem. The “representative” then asked me what my problem was and I explained the issue with the printer. He wanted me to give him the “service code” located on the back of the printer and I provided it. I was put on hold for a few minutes as he retrieved the information, after which he came back and said that there was no information available for the service code I provided. I again provided the code, this time using the NATO Phonetic Alphabet so that there would be no confusion about the letters. He put me back on hold and came back again telling me the information could not be found. At this point I was not frustrated, until I repeated this process probably 3 more times. Finally, the rep put me on hold to go talk to his supervisor. When he came back he informed me that the service code I had given him was associated to another person and our printer was associated to someone else. He explained that I would need to talk to customer care and have them switch the numbers around so that everything would be on the level. After that was over I could call him back and get my problem solved. By this time it was 9pm and I was ready to get home.

Saturday came around and I was back over at my friend’s apartment spending some time on the phone with Dell. I reached customer care and explained the issue, at which point I was quickly told that my account was a higher education account and I would need to talk to that billing department. What?! This is not a billing issue, it is just an issue with your records. Their response was to forward my call to billing. I again explained the problem and the representative acted like she may actually get something done. It wasn’t to be. She took some notes on my problem and gave me a case number to tell the finance department. Why they ever connected me to their finance department I’ll never know, this computer was completely paid off and I didn’t need a loan. Once I was connected to the finance department, the guy on the other side of the line told me that he couldn’t handle my issue and that I would need to be connected to customer care. What?! I just spent an hour and a half talking to 3 different people and now you’re telling me that I have to start the whole process over again? Needless to say I gave up and her printer never was fixed.

I have never been thrown for such a loop and I have talked to a lot of technical support people. I will say that they were cordial and understanding but they were no help. If Dell wants satisfied customers they are going to need to address the problem of effective communication. Just pushing someone from one rep to another will not work, it frustrates people and eventually they will give up and go buy another computer (ok, maybe that’s a little extreme). My fear is that Apple may go down this road and end up with the same problem. I am hopeful that they will catch the problem before it gets too far.

Texas Child Obesity Bill

Democratic Senator Leticia Van de Putte has introduced a new bill into the state legislation that would require Texas school districts to include a BMI on each student’s report card.

Read more on Yahoo > >

I am all for this because I think the obesity problem for America starts at childhood and if we can catch it early we may be able to solve the problem. However, this legislation is not going to do everything. The real impact would be to do something about school lunches and force school districts to serve healthy foods, instead of letting the districts get their food from the lowest bidder. If we want our children to be healthy the schools have to take the initiative to stop trying to line their pockets with the money the receive from Coca-Cola and Frito-Lay and serve food that promotes healthy living.

Deadliest Day in Iraq

A Marine CH-53 Sea Stallion crashed in the western deserts of Iraq today killing 31 Marines. It’s a very saddening story and my thoughts and prayers go out to all of their families. What I do not understand is people thinking that this was something that was “caused” by the war in Iraq, because it wasn’t. There have been multiple incidents in the U.S. (and other foreign military bases) where planes, helicopters, and trucks have crashed and killed many service men, but no one seems to make a huge fuss about them. I have seen numerous comments around the web about how this shows we should not be in Iraq. I hate to be the one to break to all of you but we are in Iraq and complaining about Bush and how Kerry would have done a better job achieves nothing. N-o-t-h-i-n-g.

Looking at the casualty numbers it seems that a lot (not a majority) of casualties have been caused by non-combat related incidents (car accidents, falls, etc.). Do you blame those things on the war? Surely not. If one of the same car accidents happened in the states people wouldn’t picket with signs saying “Pull our troops out of Ft. Hood!”. No, people would, sadly, shrug it off.

I am not saying forget these Marines because they did not die while being shot at, I am saying mourn them as soldiers but do not use them as a reason to say that everything in Iraq is Fubar.

On to Something Big

I have been thinking about an idea over and over for the last few days and today I have decided to go forward with it. I cannot go into detail as not all of the details have been locked down and right now I am just in the planning and research stages of it. I will share more later. It just feels good to have an idea that could potentially be huge…

Big Game Tonight

Texas will be taking on Texas Tech tonight at 8pm CST. The game should be pretty good and if Texas does not pull their play together they could lose. Their performance in the last couple of Big XII games has left something to be desired and Tech has come off some big wins against Missouri and A&M.

If you get the chance, try to catch the game on your local sports station.

Lubbock and God’s Signs

I believe that 30mph is God’s way of saying “move”. The temperature outside is around 65 but with the wind chill it feels like 25-30. It is just not right, but this is what we get for inhabiting the West Texas plains (with no windbreaks) and thinking we won’t pay for it. I am tempted to move to somewhere like Austin where stuff like this doesn’t happen…

iPods on Campus

I have noticed that since two semesters ago there has been a huge influx of iPods all over campus. I would say that 1 out of every 4-5 students has an iPod. This isn’t a scientific study, it is me just watching my surroundings and noticing what people are using to listen to music while they walk to class.

What does this mean for Apple? Well, they obviously have taken the market of harddrive MP3 players and are now moving into the flash based players with their iPod shuffle. You have to remember that by selling their players they are also selling iTunes and their music store which has become a huge source of revenue.

Apple is leading the way but will it lead to problems with their service and quality? I would certainly hope not but since they have already outsourced some of their support to India I can already see things taking a turn for the worst. I know that I do not want to pay $300 for the AppleCare plan and not be able to understand the person of the other end of the phone. This is one of those developing things that I hope Apple decides to take its time with and make sure it matures correctly.