Archive for December, 2009

CentOS, being a “legal copy” of RedHat, as good as it is, comes with some really outdated libraries. This has caused many, including myself, to find way how to bring latest code releases into CentOS. Be it by alternatives repros or compiling the packages.

Now, I don’t know how I could overlook it, but I just found out that the CentOS team offers a CentOS-Testing repro. Once installed you will get the latest library updates as well. Since it is based and supported by the CentOS guys, I figure it is the safest way to get the latest updates.

Simply add the following at /etc/yum.repos.d/centos-test.repo:

[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/5/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing

Save it and do a yum check-update and you will get all the good yummies. Make sure that you don’t install something carelessly on a production server, right…

Mind you, I’m no PHP guru and I only have PHP installed on our server because of our WordPress blogs. that said, I was facing an ugly PHP error today and somehow we could not load the WordPress admin pages anymore of it. The error was:

PHP Warning:  Module 'fileinfo' already loaded in Unknown on line 0

After searching for a solution I thought it would be best to update PHP along the way. Thus I found this nice description on Webtatic Blog which describes how to update to the latest PHP version on CentOS 5.x (since the default repro only brings you 5.1.6).

Low and behold, after updating to the latest PHP version, it will give you 5.3.1, the error was gone and WordPress Admin pages are back to normal.

Seth Godin had a great idea by gathering the thoughts of over 70 people, each giving you ideas what to think about as we go into a new year. He publishes the book now for free.

Here is one of my favorite ones from Dave Balter:

A long time ago, starting a company that made software for computers was dumb. Microsoft and Apple may beg to differ. A company that manufactures cars: dumb. Putting a college yearbook online: dumb. Limiting updates to just 140 characters: dumb.

But what makes dumb, smart? The ability to look at the world through a different lens from everyone else. To ignore rules. To disregard the ‘why’s’ and ‘how’s’ and ‘never-succeeded-befores’. Then you need conviction, and the ability to stand by that conviction when other (smart) people look you in the eye and say, “no way, nuh uh.”

So, how do you tell a good dumb idea from a bad dumb one? Good dumb ideas create polarization. Some people will get it immediately and shower it with praise and affection. Others will say it’s ignorant and impossible and run for the hills. The fiercer the polarization, the smarter your dumb idea.

Of course, dumb can be just dumb. You just have to be smart to tell the difference.

Here’s what’s easy: to recognize a really smart new business concept as just that. What’s hard is recognizing that the idea you think is just plain dumb is really tomorrow’s huge breakthrough.

Running an Oracle database is great, because it is stable and just runs, but sometimes you are hit with unexpected errors when you restart your machine. Thought, I know Oracle quite well, I’m always surprised at some things. Here are two errors (and solution) I was just confronted with:

ORA-27101: shared memory realm does not exist

To be honest, I don’t know why I was confronted with this error, since we haven’t changed anything to the machine or to the environment variables. Metalink suggest to check that the ORACLE_HOME and ORACLE_SID are correct. Funny thing is that this system runs for over a year without a change to the path, nevertheless I checked the ORACLE_HOME path and sure enough I had trailing slash at the end.

So, the solution was to see that ORACLE_HOME does NOT have a trailing slash.

echo $ORACLE_HOME
/opt/oracle/product/11/ <--- WRONG!

echo $ORACLE_HOME
/opt/oracle/product/11 <--- CORRECT!

Remember to log out of your current shell session in order to reapply the new settings.

ORA-28002: the password has expired

Now, this error caught be even worse, because it happened right within a production environment. Also, here I was unaware of this setting. In any case, Oracle seams to want you to reset your password after one year or so. In case, you want to disable this on a user without changing the users password you need to issue the following commands in sqlplus:

alter profile {user} limit password_verify_function null;

This will set the verification for this user to null. If you want to do this for every user in your system you would use this (this is applied to the DEFAULT profile):

alter profile DEFAULT limit password_verify_function null;

Once done you can then reset the password for the user with the same password or with another one with:

alter user {user} identified by {password};

Exit sqlplus and your changes should have been applied.