3/29/2005, 12:05 am
It seems to me that a lot of people have auth denial when trying to make connections to MySQL. They seem to ignore the text of the error message. ‘Access Denied’ means access denied, nothing else.
Remember three things have to match. The host as MySQL sees it, the username, and the password. When MySQL returns access denied it’s not broken. One or more of those three things does not match. I don’t really need to reiterate what’s in the manual. Chang the lock or change the key to make it fit.
3/24/2005, 2:47 pm
I decided to repost the rules with Rule 3 removed. After review and discussion with a few people I decided that not naming tables plural couldn’t be a rule since there are times when it’s ok to name tables plural. I downloaded MySQL 5.0 Alpha to check out information_schema views. After a few minutes of feeling them out I think they are much better than the old show syntax and seem to be more portable across other DBMS. With that I leave you with two rules:
1. Foreign keys are always the name as the primary key it references.
2. A primary key is always named for the table my_table_id.
Rule 1 is a self documenting technique as well as making rule #2 possible. When viewing a table having the foreign key named for the table it references tells us exactly which table to join on.
Rule 2 makes it possible to use using() when joining tables. This is not only less typing but easier for MySQL to optimize.
3/22/2005, 6:31 pm
After a few more minutes of browsing I came across What are free radicals? First sentence “We searched Yahoo! for “free radical”. There we go
I highly suggest wandering around on Ask for at least a few minutes. There are some very good questions and answer.
3/22/2005, 6:24 pm
While wandering around on yahoo I stumbled onto the Yahoo! Ask section. On this section there was a very creative answer for why cats and buttered bread always land the same way. The odd thing is that they found the answer on Altavista. I would think Yahoo! having one of the best search engines around would use their own stuff or maybe they are checking out the competition or maybe that employee has been an Altavista user since back in the day. No big deal really, it just struck me as odd.
One more thing.
On the Ask homepage there is a link under ‘Bookmarks’ for ” Emily Post Institute” which when read quickly looks a lot like “Emily Prostitute”. It made me double take. It’s funny how the dyslexic mind twists things around.
3/14/2005, 8:49 pm
Like every developer I have a certain way of naming things. In MySQL I have a few rules for naming tables and columns.
1. Foreign keys are always the name as the primary key it references.
2. A primary key is always named for the table my_table_id.
3. Don’t name tables plural.
Rule 1 is a self documenting technique as well as making rule #2 possible. When viewing a table having the foreign key named for the table it references tells us exactly which table to join on.
Rule 2 makes it possible to use using() when joining tables. This is not only less typing but easier for MySQL to optimize.
Rule 3 is more of a pet peeve than anything. Tables have rows, thus multiple values. It’s redundant to name them plural. Everyone knows they probably have multiple values. In the situation of a count table it should be named accordingly.
3/10/2005, 11:16 pm
During random conversation on IRC the question “How many ounces are in a shot?” was brought up. I guessed 1 then 1.5 and decided to goto Google for the answer. Much to my surprise Google Calculator knows how how many ounces are in a shot.
3/10/2005, 3:09 pm
I heard a basic form of this from somebody back when I was doing pc tech work. It’s a way to explain what each component in a computer does in a way that your grandmother will understand.
Your kitchen is the computer, you are the processor, your counter is ram, and your cupboards are the hard drive. Running a program is much the same as cooking a meal. To start with you go to the cupboard, grab some bowls and place these on the counter. This is much like loading a program into ram. The more you plan to cook the more ram you need so you don’t have keep moving things back and forth from the cupboard to the counter. A faster CPU can help but most of it’s time will be wasted moving things from the cupboard to the counter if your counter isn’t big enough. The more cooking tools you want to store the more cupboard space you need. Thus everything needs to grow in relation to everything else.
More things can be added in such as using a cutting board to explain cpu cache.
3/8/2005, 12:21 pm
Yesterday I posted an article about the .NET runtime. After discussing it with a few people (some .NET gurus others not) I have come to the conclusion that it’s ok for .NET to have a 23 meg runtime because of the kinds of applications that it’s used for. Right tool for the job. .NET shouldn’t be used for small apps or utilities. So that raises another question. In Linux we have PHP, Perl, Python, TCL, All with GTK bindings. So what do you use in windows for your little utility apps?
3/7/2005, 11:00 am
This is not a Microsoft or even .NET bashing post. I have no experience with .NET and only some with VB from version 5. These are honest questions that I hope some .NET guru will read and answer for me. As you probably know I do most of my development on the LAMP stack.
I was reading Dan Fernandez’s response to Grimes’ Article on .NET. While reading this response I learned a few things about how .NET works and they seem very similar to how VB worked when I used it. It seems some of the same frustrations I ran into still exist today. Mainly the single redistribute or runtime library. My understanding is that in order for someone to run a .NET application they have to have a new enough or newer version of the .NET redistribute installed on their machine. This file is 23mb. Now my guess is that .NET was designed around large applications say 100mb or more (a lot of freakin’ code) so a redistribute of 23mb wouldn’t seem like much. If this is true then everything is ok. Maybe Microsoft forgot about the thousands of small software projects (1 or 2mb installed) that see a 25mb runtime a major road block in their distribution. I know we all have broadband and cd burners now but what about the little tool applications that many tech guys like to keep on their keychain. 25mb doesn’t seem so small on a 64mb jump drive. My question to the .NET gurus out there is why can’t Microsoft break up their runtime into several smaller libraries? A bare bones base and several optional extensions. Please let me know!
3/4/2005, 10:49 am
It seems Gmail has done some hard work on their interface compatibility. Going by the updated date on their New Features page 02/28/2005 04:40:26 PM They now support basic html. As a test of this I fired up lynx (It’s been a long time my friend) to see just how basic their support is. After accepting cookies from about 3 different hosts and going through a few annoying redirects I arrived at my email. The main screen renders ok in lynx and I was able to perform all my normal functions. Now those of you stuck in a terminal all day can have your Gmail too.