Kathy Sierra has an interesting post on her blog about college. Toward the end she talks about how her teenager has decided not to go to college. Kathy reasons that since her personal career has very little to do with her original degree, her daughter is just as well off to spend her time at a vegetarian cooking school instead of pursuing a 4 year degree.

While Kathy makes some excellent points, I don’t think that the cooking school is going to prepare her daughter as well as attending a university. It doesn’t matter what she studies. That is the whole point of a liberal arts education–you don’t just study your field of interest. Places like that are known as vocational schools.

Go to college and pick something you enjoy studying. You are going to spend 4 years developing yourself as a person. If you think the facts you learn in an accounting class to make you attractive to an employer in 10 to 15 years, you’re going to be very disappointed.

Kathy Sierra has an interesting post on her blog about college. Toward the end she talks about how her teenager has decided not to go to college. Kathy reasons that since her personal career has very little to do with her original degree, her daughter is just as well off to spend her time at a vegetarian cooking school instead of pursuing a 4 year degree.

While Kathy makes some excellent points, I don’t think that the cooking school is going to prepare her daughter as well as attending a university. It doesn’t matter what she studies. That is the whole point of a liberal arts education–you don’t just study your field of interest. Places like that are known as vocational schools.

Go to college and pick something you enjoy studying. You are going to spend 4 years developing yourself as a person. If you think the facts you learn in an accounting class to make you attractive to an employer in 10 to 15 years, you’re going to be very disappointed.

Enabling Color Terminal on OS X 10.4

OS X has an environmental variable called CLICOLOR. If it is set, it turns on color for command line commands. So…

export CLICOLOR=true

will turn on color. If you want to enable this for everyone, you could do that by putting it in /etc/profile.

Why Subversion Rocks

This guy says that using Subversion and Cruisecontrol cut their costs by 92%. It would be interesting to see how he calculated this. Regardless, it is amazing how many quality tools are available for free now.

Why Subversion Rocks
In a recent study I performed on my development groups process improvement over the past 5 years, we found that we had cut the cost of managing our build and release process by approximately 92% by incorporating Subversion and related tools like CruiseControl, ViewCVS, and other custom software (and major process changes that accompany them) to integrate and automate our release management processes.

Dangers of Design Patterns

Here is an interesting discussion about the dangers of design patterns. Design patterns can be a great way to solve problems, but many times they become an excuse to over-architect solutions. Design patterns should reduce complexity. If they introduce more complexity, you are doing something wrong.

The myth of design patterns is that they will make it easy to solve problems that you haven’t through of yet. This sounds great in theory, but it is easy to end up “gold plating” the software by building in flexibility that will never be used.

The real power of design patterns is in solving existing problems. A lot of the times this means they will be introduced when you are re-factoring code. When the code starts becoming complex and a design pattern makes things simpler, then it might be a good time to use one.

I’ve inherited a project that makes extensive use of design patterns. In some places the patterns make the code simpler. For example the chain of command pattern is used in several places, so once you understand how the authentication piece works, you understand the principle behind several other key components.

Another pattern that shows up a lot is the factory pattern. While this is a great way to decouple code, it is only beneficial if you gain some type of benefit by having the code loosely coupled. I ran into an piece of code the other day where a factory created an object and I needed to know what it was. I had to look through 5 other java classes and two configuration files to figure it out. In this case, using a pattern made things much more complicated and there weren’t any significant benefits.

Patterns need to be used to solve real problems. If you try to use them to solve every potential future problem, they become a liability.

Technorati Tags: ,