Karl Phillip Buhr [maxphil]
How did you begin programming and at what age?
I was 15 and extremelly interested in computer games. As I wanted to understand how they work, I joined a Delphi programming course.
What languages do you code, and in what platforms?
C and C++ mostly. On rare occasions I write code in assembly, python, perl and bash script.
Windows, Linux and Mac OS X.
What machine configuration and operating system do you use?
At home, Mac OS X. I have a MBP 13" bought 2 years ago. I don't remember the spec.
At work, Windows XP and Fedora Linux. Both are Intel Core 2 Quad CPU 2.83Ghz , 3.5GB RAM, HD of 1TB, video cards are NVidia GeForce 8800 GT and the other one is an old ATI.
Please list web addresses where we can see some of your work
What motivates you to undertake a new project?
I like to learn and I enjoy challenges. I'm interested in projects that can give me these 2 things.
What part of project development is most gratifying to you?
The end of the project.
From the outside, it seems a rational job, but is creativity necessary for programming?
Yes, specially when we need to design something new.
What conditions do you need to concentrate when programming?
Silence. Sometimes I put on earphones to signal to people around me that I'm extremelly busy.
After working for long periods of time, have you ever felt as though you were in a bubble?
I did, yes. But nowadays I try to squeeze some other activity between long periods of work to minimize this feeling.
When you check out code you wrote time ago, what's the main difference with respect to code that you write nowadays?
I'm always improving the clarity and performance of the code I write. Sometimes I look at a code I wrote 1 year ago and I think: "who wrote this cr*p!"
Do you still buy programming books, or do you learn everything from online sources?
I do both, but I still rather the paper version.
Do you think programming should be taught at the basic education level?
I think it may be a little too soon for that.
What has been your experience in marketing your software?
Not sure I understood what you are asking for, but as I always been involved in building stuff that people needed, I actually never had to really market my software.
What do you learn from software users?
They will, without a shadow of doubt, do something with your software that you haven't being able to predict.
What would be your solution against piracy?
We should have better laws for that to keep people on their toes.
Would you consider yourself rigorous in the organization of the coding that you write and on commenting it?
I am one of those guys that like to read code, and I'm constantly improving the way I write stuff to make it easier for the other developers to understand what I've done. Documenting the code is just one aspect of good programming practices.
How do you calculate the budget for a software project?
What are your favourite games and on what platform do you play them?
It's been several months since I last played anything, but here is a short list:
Windows: Diablo 2, Rappelz, Counter-Strike Source
Wii: Star Wars - The Force Unleashed , Dragonball-Z, Guitar Hero
XBox: Marvel Ultimate Alliance 2, Battlefield 3
How often do you clean dirt-buildup on your keyboard?
How do you feel when friends or family ask for your help in solving domestic computer problems?
I don't mind.
As machines for development, what opinion do Macs deserve?
They are OK. One problem is that there are still a lot of open source software that hasn't been ported for Mac, but that is changing.
How do you protect your computer from viruses?
I use anti-virus software in all my computers (including the Macbook Pro), I don't visit nor open stuff from sources I think are suspicious.
In social settings, do people become interested when you tell them you are a software developer?
No, not really.
Do you work alone or in a team? Which do you prefer?
I'm used to doing both and I have no preference.
Are you one of the first to update to new software when it comes out, or do you normally wait until more stable versions appear?
- For Operating Systems updates, I like to wait a little bit longer.
- For updates on software I'm using to build something else, I usually do not upgrade to a newer version unless I really really need to.
- Software I use at home, I'm updating all the time.
What is your main reason for not meeting project deadlines?
It's difficult to meet the project deadlines when you are not consulted, or when the people making the decisions are not actively involved in software development.
So I think the main reason is that there is always some hidden complexity in the project that ends up taking more time to be solved than people originally thought it would take.
In your opinion, which company helps software developers the most?
I'm not sure, but I suspect big companies like Google, Apple and Microsoft may do very well in that area.
How many breaks per day do you normally take?
5 min break every 1 hour and a half or so to stretch!
At this point in your career, what would be the project of your dreams?
One that is probably related to computer security or game programming.
What is your next project?
My next project is something that I hope it will render me some extra $.
Which websites or forums for programmers do you frequently visit?
What advice would you give to someone who wants to become a programmer?
To be any good in this area, you need to absolutely enjoy programming to be able to immerse yourself in this universe.
Make sure you follow the news related to tecnology and have 1 hobbie (personal project) that involves programming.
Participating in stackoverflow.com is a big plus.
Karl Phillip Buhr