Gallery Words Contact

Apple Coding

March 28th, 2005

Keenworks concentrates on php and perl programming, but I’ve definitely done a lot of java programming as well – including WebObjects. And, I’ve got a shortlist of new skills to add to the mix, which includes Objective-C and Python.

There is a great interview with a Mac Programming guru who has all sorts of intelligent things to say about WebObjects, EOF, Cocoa, and Python. Some good insights about what technologies will drive the appetite for programming in the future.

Welcome To Keenworks

March 6th, 2005

I guess any new entity needs an introduction, whether it is a person or a corporation.

Keenworks is currently both. It’s a one-man operation, staffed by yours truly. Hi, I’m Curt. I’ve been entranced by the web’s ability to extend one’s desires and needs since the early 90’s, when I was in college. Growing up I had always been tangentially connected to computer programming, whether it was learning how to implement quicksorts in Apple Basic, or just by typing in programs in the back of magazines, but it wasn’t until the birth of the web that I really got excited about the potential of programming.

I didn’t realize it at the time, but I started my professional journey a couple of years before I graduated, when I was administering a creative-writing mailing list I started. We had been heavily involved in writing a serial, where one person would write a chapter, and then the next person would write another chapter. After a while, members started requesting old chapters. Websites hadn’t been invented yet, so we couldn’t just host them there, and it was annoying to manually respond to every request. So I took it upon myself to write a mail daemon. I used perl4 to write a utility that would automatically return a chapter of the novel if they sent me an email with a code phrase in the subject heading.

I stuck with perl. I learned how to use this mail daemon to set up secret, temporary fly-by-night ftp daemons under the noses of the university’s strict system administrators. I wrote a poor man’s email anonymizer for a role-playing game my friends were interested in playing. I even set up a secret “MUD” and learned to program some simple “objects” (although the system administrators caught that one and shut it down).

All of my programming interests had a common thread – community. I never would have programmed if it hadn’t have been for the internet. This interest I had in community skyrocketed with the birth of Mosaic and Netscape.

Upon graduating (U of Colorado 1995), I moved to Silicon Valley, just in time for the dot-com boom. I spent the next few years skipping from layoff to layoff, picking up skills along the way. I never hit the stock option jackpot, but I developed a ton of valuable experience. I stuck with perl and learned database programming; first informix, then oracle. I learned object-oriented programming, and became skilled in Java by developing in Apache Jserv.

I also programmed on my own time – my old creative writing habits led me to develop a website that allowed communities to write group-authored branching novels together. An employer licensed it from me and had me rewrite the whole thing in java. It ended up being used by one of the largest on-line community sites on the web.

All good things must come to an end, of course, and the dotcom days soon ended. I took the opportunity to learn php and began developing my own tools to increase my productivity.

After another jobhop and a move to Oregon, 9/11 happened. I had been laid off only ten days beforehand, so I knew there would be no chance of me finding further salaried work. But by that point, I had the ability to write complete web applications of high complexity. I began to freelance.

It’s been over three years now, and it is going very well. I specialize in subcontracting from large firms – a project usually comes to me spec’d out, and I will often design the database schema, design the software architecture, work with graphic designers to implement their look&feel, and implement all of the functionality. I have consistent clients with recurring work from Oregon and California, and fun, positive relationships with all of them.

All clients have ebb and flow in terms of the work that they need, so I’m usually able to make room in my schedule for a new client that has interesting work. I have a particular affinity for clients in two industries. I like the creative industry because I have a music degree. I’d say I am currently more skilled in programming than I am in music, but I am an artist at heart and enjoy people with artistic temperaments. I also like the political field because there is a ton of exciting community-driven development happening on the web. It’s not just a world of discussion boards and email anymore.

If you have need for advanced software development on the web, requiring N-tier architecture, high maintainability, and the kind of development approach that responsibly separates form from function and logic from presentation, consider dropping me a line.

Or, if you simply want to keep tabs for now, bookmark this weblog. I will be writing occasional articles on software development practice, and valuable tips and techniques I’ve picked up in my three years of consulting.

Welcome to Keenworks!