No matter how good or bad things get it is paramount to never forget about customer service. It is so easy to take good customers for granted and simply focus on the bottom line. In reality though, if you forget about customers and only focus on making money it will always come back to haunt you. Good customers are hard to win over and should be treated with respect accordingly. Don’t sell your business short by trying to make an extra buck in the short term. Don’t treat your good customers like a commodity. If you can see someone has been a good customer for a long time and has a simple problem to solve, solve it. Don’t waste their time or yours giving them the run around. These rules apply to you no matter what industry you work in.

Don’t let a bad economy be an excuse to treat others with less respect!

I’ve had several personal experiences lately that have reminded me of this fact. I hope companies and individuals alike are taking note. Those who treat others well regardless of the economy will prosper in the long run. I truly believe that being rude, providing poor service, and other similar behaviors never pay off in the long run. These tactics may work for a short period of time but not for the long haul. What’s more, isn’t it always easier to not deal with the extra drama that is caused by this type of behavior? I think so.

My favorite investing quote I read recently was from the famed Warren Buffett in the New York Times.

Be fearful when others are greedy, and be greedy when others are fearful.

I believe Speculation usually doesn’t pay off in the long run. As I’m sure Warren would probably also say it’s always better to stick to fundamentals. A company that was worth investing in two months ago when things weren’t quite so bad is probably still a good investment. Probably just a lot better deal now.

After trying to get the mysql gem working on my new macbook in Leopard, I realized that although I can get the gem to compile correctly it still doesn’t work with the mysql 64-bit version. This realization mostly came from searching and finding this useful blog post.

I reinstalled the 32 bit version of mysql and then recompiled the mysql gem. Then magically things started working the way I needed them to. Hopefully this can get fixed in a future version of Ruby.

Here is the command I had to use to finally install the gem properly.


sudo env ARCHFLAGS=”-arch i386″ gem install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config –with-mysql-lib=/usr/local/mysql/lib –with-mysql-dir=/usr/local/mysql –with-mysql-include=/usr/local/mysql/include

Notice the i386 arch. I was previously using x86_64 as the arch which compiled properly and appeared to work until you actually tried to use the gem in ruby and got a stack trace.

I have had a macbook pro for about 2.5 years now since the first intel based macs were introduced. Last week I decided to get a faster machine with more ram and hard drive space. So I went to a macbook. Yes, I have a smaller screen and not quite as good of video. However, I was able to upgrade the RAM to 4GB and HD to 320GB in about 15min and both are working great. I’ve been very happy with the machine so far.

Tonight I decided to try out the Migration Assistant. For some unknown reason I’ve never used it in the past when I’ve upgraded my mac. After using it though, all I can say is wow! Why haven’t I used this tool before? What is so amazing to me in contrast to Windows machines is how well it works and how easy it is to use. Also as far as I can tell so far it appears to have transfered everything just the way I told it to. This includes all my files, custom settings, and even applications. Although it technically should be possible to transfer appliations between Windows machines, in most cases it isn’t even an option. Whenever I have moved from one Windows machine to another I end up having to reinstall all the applications. The only thing that really moves well on Windows is files such as documents and other application data. The applications themselves though don’t like to be moved.

With Migration Assistant, the fact that applications can be moved is huge for me since reinstalling all my applications usually takes at least an entire day if not more. Whats more, its really something that isn’t fun and frankly shouldn’t be necessary to redo every time I move to a new computer.

So far I’m completely sold on Migration Assistant. It has definitely made this the least painful upgrade I’ve ever experienced. I’ll have to see if I’m still as impressed after making sure everything really does work over the next week or two.

I wanted to use sun java with ubuntu instead of openjdk. So I installed the latest package sun-java6-jdk (or sun-java5-jdk). The java command /usr/bin/java still points to openjdk though. This is where update-alternatives comes in. This is a pretty slick solution to the problem where multiple packages provide the same command. Like the case I had.

I only had to run a couple commands
update-alternatives --display java
This command tells me what of the commands installed is the highest priority. If I want sun java to be the highest priority then I just need to make the number higher. In my case the number for openjdk was 1061. So then I just ran the following command.
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-6-sun/jre/bin/java 1100
After this I run:

$ java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b22, mixed mode)

Quick and elegant solution. What more can you ask for. Linux is amazing when you know what to do.

For some reason I’m having trouble logging into the Oracle site today. This is frustrating. Luckily though Firefox gives me a hint of why there is a problem. I get a somewhat useful error message.

firefox_error

In IE though the request seems to just go forever with no error and no progress. I’d rather get an error than the illusion that something will eventually happen when it won’t.

Hopefully in the meantime Oracle can fix the login on their site so I can download Oracle XE. How does something as critical as login break on a site like Oracle.com? I thought they were supposed to be the example of high availability and reliability.

I loved the points that were made in the KDE 4.0 Launch Keynote. They apply to almost any software development in my opinion.

  • Own your data
  • Choose your vendor
  • Explore, create and learn

Web based systems especially fall into this boat. Users should feel free to change. They shouldn’t feel locked in. Otherwise they will lose trust in storing their data on the web and using web based systems in general.

How do you estimate development tasks? For most this is usually a process of guessing. Sometimes the guesses are accurate and many times they are not. One person I highly respect in the software development field is Joel Spolsky. He wrote an article explaining the process of doing evidence based estimates. This is very similar to one of the new features in a product his company makes called fogbugz (which I have not used). A bug tracking system does seem like an obvious place for this type of functionality to live. Especially since it should be one of the core tools used as part of your software development process. The idea of doing estimates this way is interesting though. It got me thinking, why don’t more estimates get calculated this way? I hope to be using a system similar to this in the future myself.

For some reason Windows Vista enables IPv6 by default. Why? I wasn’t aware of this so I ended up troubleshooting a non-problem with PHPUnit. I have unit tests that connect to the web server to test a web service. The URL my tests were using was “localhost”. Because vista was resolving localhost to ::1 the tests couldn’t make a socket connection.

All I had to do to fix the problem was disable IPv6 and comment out the localhost ::1 line in my hosts file. This took a significant amount of troubleshooting to figure out though. I thought there was some type of problem with PHPUnit or php itself. Luckily I was finally able to solve the problem.

It seems like a really bad idea for Microsoft to enable IPv6 by default and additionally put it higher in the resolution order than IPv4 addresses. Based on the number of active IPv6 networks this can’t be a good default decision. Supporting IPv6 is a good idea, but it shouldn’t be the default method of resolving addresses. Windows should have knowledge that you are connected to an IPv4 network and disable or lower the priority of IPv6 accordingly.

Someday when I become a ninja I think I’m going to need an electionic weapon set. I have heard these are much better than the inferior electronic weapon sets.

Electionic Weapon Set

Next Page »