Of Philosophy and Culture

July 1, 2008 – 5:09 pm

Programmers are, by nature, thoughtful beings. It’s in our nature–if we weren’t able to perform relatively strenuous mental tasks with ease, we wouldn’t be able to do our jobs. This ability can be applied to many tasks, from philosophy to music to writing to… well, programming.

This being the case, I often take some time to sit back and simply think. It’s a hard habit to acquire, certainly–at first, all the “thinking” I was doing ran along the lines of “I wonder what’s for dinner tonight?“. The key to this thought is simply to ignore everything. Learn to isolate yourself mentally from all the distractions around you.

It’s hard, certainly, but consider this: a habit of thought can be applied to anything, and I do mean anything. That latest political debate? Chances are you can’t form a logical argument for or against a position until you’ve spent time thinking about it.

This brings up another interesting point, however: thought requires time. You can’t consider all the ramifications of something, compare it to other options, or explore the nuances, conclusions, and evidence for it unless you spend time thinking. This thought is what is known as philosophy.

“So where,” you ask, “Does the culture part come in?”

In our modern culture, we have come to expect instant response. Type something in your computer, you’ll see it immediately. Click a link on this blog, you’ll start going to another page immediately. Want a book? Go to the library or bookstore and you can begin reading it immediately–and that’s assuming you can’t find the book in computerized form. Want to buy something? You can get it via credit or a loan without waiting, even if you can’t afford it.

This affects our thinking in two ways. First, we expect to begin thinking along the lines of Einstein immediately once we begin. This simply won’t happen. Your brain, like everything else about you, requires exercise–and this habit of deep thought isn’t something that comes easily.

Second, and perhaps more importantly, our very culture chastises those who stop to think and consider. Ever stopped in a line at a fast-food restaraunt to consider what you’d enjoy most from their menu? The people behind you probably became impatient, even to the point of cutting into the line in front of you. This impatience translates itself into every aspect of our lives, including our thought and debate.

In today’s debates especially, thinking during a debate is discouraged. Consider yourself in this situation: Your opponent in a debate poses an argument that you haven’t heard before. You take ten to thirty seconds, stare off into space, and concentrate on the problem. You come up with the perfect response, and deliver it perfectly. Will you convince people?

Far from it. Most people will, in that ten to thirty seconds, decide that you have no clue what you’re doing. Because you’ve stopped to formulate and deliver a good response, instead of pushing out some mindless drivel or changing the topic of conversation entirely, your response will be discounted. This holds true in almost everything from political elections to casual conversation.

What can be done to avoid this? Not much, unfortunately. All we can do is think the best we can, as quickly as we can. However, consider this: next time someone stops in a conversation to think, don’t discount their response. Rather, pay more attention to it–and perhaps they’ll return the favor.

Programming: A Career of Learning

June 30, 2008 – 7:48 pm

Ever felt bewildered at all the new technologies coming out recently? Tired of falling behind the cutting edge, never able to catch up? Annoyed at never being able to claim you’re doing something truly new and innovative, instead of just using what already exists?

Unfortunately for you, I’m not selling anything that’ll help fix this problem. However, no matter how horribly out-of-date you may feel, there is hope–and that hope lies in what you’re doing right now. Reading blogs.

There’s a horde of good blogs out there, many of which offer wonderful insights into the most recent technology out there. Others, like Jeff Atwood’s Coding Horror, explore not just the functional side of programming, but the theoretical–that is, the ideas that drive what you’re writing.

While you’re reading these blogs, you may very well encounter a topic that you’re not familiar with, but that sounds somewhat interesting. It might not necessarily be the topic of the blog article, but even if it’s just a brief mention–if it interests you, check it out! Google (and MSN, and Ask, and Yahoo, and…) are all there for a reason. Make a habit of spending about one hour a day keeping up with the latest technology.

Also while you’re reading, look for mention of any unfamiliar programming languages. If you find one, make it a point to spend 15-30 minutes researching it. In that time period, ask these questions: Is it useful? Does it work on many platforms? Is it applicable to anything I’m doing? Most importantly, is it relevant? There’s not much point learning Haskell unless you can use it somewhere.

If you feel inclined to research further, set aside some free time. It doesn’t have to be long; 15 minutes a day or so should be plenty. Set up the compiler for the language, come up with a small project, and build it. Don’t let any perceived deficiencies in the language deter you; ask others for help if you need it.

These ideas aren’t a cure-all, obviously. However, in a programming career, you can’t afford not to spend time keeping up with new developments. It’s a necessary and valuable part of our practice.


June 29, 2008 – 12:52 pm

“So,” you might ask. “Why am I here reading this website with a title that sounds like something out of a bad joke? And what the heck is a ‘Math Penguin’, anyway?”

Well, to answer that requires a bit of background. You see, one year at college, I played in a band concert. Normally these occur in the evening, but this particular concert was in the morning. Moreover, it was at 10:00 in the morning, right in the middle of classes. The band’s uniform is a tuxedo (or, as we call them around here, a penguin suit). This concert lasted for a full hour, and was immediately followed by a mass exodus of students rushing to class, me included. Unfortunately, my next class was Calculus; and not just any Calculus class either–no, today was a Calculus test*.

Upon my return home from this rather hectic day, I hopped online to talk with a few good friends of mine, and upon relating my story to several of them, was immediately dubbed “Math Penguin” by two of them independently.

That said, this blog really doesn’t have a lot to do with math, or even with penguins for that matter. The purpose of this strangely-named website’s existence is to explore various topics, ranging from programming to religion to music, and just about everything in between. If you have a topic you’d like me to discuss, just leave a note–either in a comment or by e-mail.

* I highly recommend wearing a tuxedo to a math test now and then. Not only does it make a great conversation starter, it apparently improves your scores. That was the highest score I ever got on a Calculus test.