![]() |
![]() |
![]() |
![]() |
![]() |
||||||
|
|
![]() |
|||||||||
|
Dan Benjamin How do you come up with new ideas for developing software? Speaking outside of the context of my day job (where projects are determined by the company's needs and direction), I develop software based on interest and need. For me, those two things usually go hand-in-hand: my software needs are often driven by what I'm interested in learning about right then. Alternatively, I'll develop something that I need and can't find anywhere. This was the case with Postmaster, the weblog system I've developed. Postmaster really came out of my dissatisfaction with with the alternatives. They either didn't have the features I was looking for or didn't work the way I wanted them to (or cost too much, were too slow...). So I began rolling my own. People have really taken an interest in it, and that's now become the most thrilling part for me. Now, instead of just creating something I'll use, I'm working on something that has the potential to benefit lots of people. When you are programming, do you "think in code" or visualize the code Yes, to a degree, though it varies. I've using computers since I was about ten years old (when Apple II's were new), so it's second nature to me to interface with them. I tend to think very logically, and I usually see the layout of the program in my head like an outline. The actual task of development is really just fleshing-out the outline, filling in the details. But the details are the hard part! Anyone can say "then put the info into database." But making it work and work well is the challenge. As to actually "thinking in code" ... I find that with clear, structured languages (such as Java), thinking in code comes more naturally. In my early days, I programmed a lot in BASIC and then, thankfully, learned Pascal. Pascal taught me to think logically, procedureally. In many ways, Java is today's Pascal. But it's so much more powerful. You can do just about anything in Java, and it's always consistent. It's the perfect language in many ways. Good Java programmers are like good Zen Masters, or perfect minimalists. There's some amazingly eloquent code out there. 3Have you had any memorable "ah-ha moments" you can share? I remember when I actually "got" the concept of object-oriented programming. I mean, I understood it in reading about it, but there are many subtle levels to understanding it, as any good Java or C++ programmer will tell you. There was a moment when it sort of "clicked" and it really freed me up to start writing some good code. I learn something new about O-O every day. Do you have a particular process for developing ideas? What is it? 1 rounded tablespoon of coffee grounds per 6 oz. of water. Seriously, I tend to have a very structured approach to development. To me the key is having a clear vision of the goal, of what you want to accomplish. Even if you need to change course along the way and change course a bit, if you always stay focused on the goal, you'll be in good shape. I see every task, no matter the size, as being broken down into smaller components. The end-result may be too large to contemplate in some cases. But if you look at every big task and break it down, you'll discover several smaller tasks that are each only a minimal accomplishment. Tackle each of them and you'll suddenly have completed the bigger task. This philosophy lends itself well to programming, where multiple functions or methods are often used to create a larger program. Which part do you get the biggest kick out of: the creative PROCESS or the RESULT? I'd have to say the process. Being able to look at something you think is cool and say "Wow, I made that!" - that's a nice thing. But I always find myself saying "Yeah, but that one method here uses a multi-dimensioned array and it really should have been a hashtable ..." The next thing you know, you're back in PROCESS mode again. What do you do when you are stuck? The best thing I can do for myself when I get stuck is take a break. Go for a jog or a walk. Do something physical and do your best to NOT think about your work. The answer usually comes to me eventually. In fact, most of the GOOD code I've written came to me when I wasn't in front of a computer, but was walking or out pretending to have a life. The hard part is remembering your idea when your back in front of the keyboard. Carry a pencil with you. Who is someone outside your field that has influenced you creatively? I doubt I'd be half as productive without Bach playing on my headphones. His compositions are amazing, and every time I listen, I hear something new I've never caught before. I'm actually listening to Passacaglia and Fugue in C minor (performed by Michael Murray) right now. It's like fuel for the mind. If you could switch places with another creative in any field, who would it be? If he were still alive, I'd say Stanley Kubrick. His movies have had a lifechanging effect on me over the years. Amazing creativity and understanding of the medium. The idea of being in such a position, to affect the lives of so many people, to change the movie industry and the way movies were made the way he did, what an accomplishment. He was able to make an many important statements with his work, and really examine and push the limits of convention. It must have been a wild ride. Dan P. Benjamin: Arbiter elegantiarum, technology euphemist, cigar maven, programmer, web designer, and writer. A Philadelphia native, he holds a Bachelor's Degree in Technical Communication/Writing from UCF. Dan and his wife (and two cats) currently reside in Winter Park, Florida. Gladly. Dan began using computers when he was a kid. He has used, programmed and networked just about every machine from the first Apple II's, to the latest Sparc's and PC's, and everything in between. In a few cases, he seemed to be good at it. Despite recent achievements, he still believes computing perfection was attained with the Commodore 64 (especially that one Bruce Lee game). Benjamin has been on the web for years, and still believes that it is the best method for information and application delivery. He created his first website in 1993, and the people who were unlucky enough to have seen it did so with the very first Mosaic web browser. Since that time, he has created many websites, written many applications, and delivered many seminars on all subjects relating to the web, operating systems, and development in general |
Copyright 2002-Eurekaville Design and Communications. All articles and contributions are the respective property of the authors.
Talk to us: scribe@eurekaville.com