Tuesday, February 22, 2005

PHP with mySQL Authentication Protocol OLD_PASSWORD Problem

I just finished wrestling through a problem with mySQL that I now understand.
I'll share my experience in hopes that someone else who has the same problem in the future will stumble on the solution here.

Problem: A PHP client of a mySQL database gets an error message when calling mysql_connect:
"Client does not support authentication protocol requested
by server; consider upgrading MySQL client"

It turns out that the problem is because I changed the PHP client user password using Navicat 2004 6.1.9. Apparently, almost all of the mySQL Administration packages change a password using a new mySQL 4.1.1 password hashing scheme. The PHP client uses an old hashing scheme so the authentication fails. Even though the password is correct it doesn't get hashed using the same scheme that the admin client used.

Solution: Use the mySQL command-line client to change the password...

mysql> SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

The OLD_PASSWORD function forces the hashing scheme to be the same that the PHP client uses.

Read more about it in the mySQL Reference Manual.

Thursday, February 17, 2005

Standard Banner Sizes - Ad Units - IAB Marketing Units etc

The variety of sizes of internet advertising banners, images and graphics seems to be limitless.
While designing the RoadRaceResults page layout I visited countless sites to determine what the most popular sizes were. I wanted the CSS layout to accomodate standard banner sizes to pave the way for posting ad graphics.
I didn't find one single page with all the standard ad sizes. Many are out there but none appear to be as complete.
So I made a page of my own. You can find it at www.qwikpage.com/commonbannersizes.htm. It should be helpful to others who needs the same thing.

Feel free to use these graphics when building mockups of your own page layouts. The naming is simple - standardName.gif and widthXheight.gif.
For example, one standard size is called a Leader Board which is 728 X 90 pixels. The graphic for this can be found at
http://www.qwikpage.com/leaderboard.gif OR

Microsoft Doesn't Get It. IE CSS Box Model Hack

I recently wrestled with a CSS rendering problem in Internet Explorer.
Of course, anyone who has worked with CSS knows that it is always a challenge to find the most elegant hacks to work-around differences between IE and every other browser.

I want to share this case because I found a work-around that is alot simpler than everything else I was able to find on the web.

The problem is commonly called "The Box Model Hack" and it is explained quite well here by Tantek Celik's.

In my case (shown here) the problem with the box rendering is that IE adds a pixel at the bottom of an image so that pixel-perfect alignment isn't possible without some kind of hack. Notice that the far right column is up to high (but not in Firefox or Netscape).

The accepted hack is to set the box dimensions in the style rule so that IE will render properly, then put in a rule that causes a known IE parsing bug (in the voice-family value below). The result is that IE stops parsing the rule but other browsers continue. Then the dimensions are set properly for the other browsers and everyone is happy - except that it is very ugly.

border:10px solid black;
voice-family: "\"}\"";
voice-family: inherit;
html>body #myDIV

When I called technical support
at Microsoft thier first suggestion was
that I should use tables to layout my page!

Then after a few days they called back with a simple solution. Just don't put any white space after the <img> tag before the next tag. Apparently, it is the white space (like tab, space or CR) that causes the extra pixel to get added.
Sure enough, that worked.

It's all explained here.


Wednesday, February 09, 2005

microISV = Shareware Professional?

In mid 2004 the term 'microISV' started to be used to refer to a one-person software company.
The attention that Eric Sink was getting with his column on MSDN popularized the term. (see http://www.qwikpage.com/microisv/WhatIsAMicroISV.htm )
Brian Plexico then launched microISV.com as a discussion forum and many people were ferring to the microISV movement in their blogs and articles.

In November, I launched my own microISV business and created as website called microISVReality at qwikpage.com.In general, my purpose for the site was to serve as a resource for other startup microISVs; articles, information, links, collaboration, advice and a place for others to promote their new business.

Traffic grew quite quickly for three reasons;

1. my SEO was focussed on 3 key words - microISV software entrepreneur (I quickly became 3rd ranked in Google behine Eric Sinks site and microISV.com)
2. press releases
3. mentioned and linked in discussion forums

The specific purpose of the site was (and still is) a bit unclear.

In January, I sent out an email to some key people in the microISV community to determine if there was any interest in organizing our actibities to build momentum.
My suggestions included;
- make microISV.com the accepted, promoted and centralized discussion forum for microISVs (the rest of us would remove our forums and redirect there)
- form a membership or association of microISVs
- offer some means for startups to solicit advice for experienced entrepreneurs
- organize articles written for the benefit of microISVs
- periodic NetMeetings
- eventually a small conference or seminars to meet face-to-face

The almost unanimous response was that the microISV entity is sufficiently different than a shareware professional and that the mature organization of the Association of Sharware Professionals already provides most of these services. Any time spent organizing microISVs would be wasted effort.

I'm well aware that in many cases microISVs use the shareware distribution model but I don't agree that all microISVs are shareware authors.Being a microISV refers to the organizational structure of the business while being a shareware professional refers to a distribution model. Granted, there is a large intersection between the two groups. However, I believe that a microISV association could establish an identify of its own to the benefit of its members.
I'm not willing to single-handledly take on this cause though.

The other almost unanimouse response from the recipients of my email was that we are all quite busy and this isn't something we have time for.
This I agree with. So I've decided to take my email list and discussion forum down and link from my site to microISV.com for discussions.
My site, http://www.qwikpage.com/, will focus on providing organized, high-quality articles relevant to startup entrepreneurs.
I will also provide a directory of microISVs for their own promotion.
I will not continue my previous attempt to put together a group fo 15 start-up microISV and 5 mentors. The advice I heard is that this can be done on the Association for Sharware Professionals site.

Making these changes actually reduces some of my distractions from my core business - which is developing RoadRaceResults.com - a running portal site.
And that's a GOOD THING.

As an old German proverbs says,
"The main thing is keeping the main thing, the main thing."
In the past 3 months I continually read that a startup entrepreneur must seek advice from experts and gather feedback from users as often as possible. This input needs to be used to influence strategic and quality improvements in the next iteration.
The email I sent out was a great exercise in asking pointed questions, and getting feedback to set direction. I'm confident that I saved myself alot of wasted effort simply by asking questions.
When I launch my products and web sites, I will make an effort to continually seek user feedback to help determine my next steps.
Lesson Learned.

FREE hit counter and Internet traffic statistics from freestats.com