Home

about me

    contact       resume       my code       gpg public key
Basics

Welcome to my homepage. My name is Dan, and I'm a computer programmer, technical writer, and all-around geek living in Urbana, Illinois. Urbana and its twin city Champaign are about 2½ hours south of Chicago. My background is in computational physics, and my current interests are programming languages, functional programming, and large, complex software projects. Once in a while, when I can take some time off from work, I like to go sailing.

My current project is to study the skills, methods, and technologies necessary for reliably developing and maintaining large, difficult software projects. Functional programming seems to be one of the most powerful tools. My impression is that currently popular languages like Java, C++, and C# aren't very good for this purpose, despite their widespread use. I also don't think scripting languages are all that great an answer. I think the enterprise software industry would benefit from using more functionally oriented languages such as OCaml, Common Lisp, Haskell, and Erlang.

What I do well I'm very good at tackling difficult, technically challenging projects that many other people find intimidating, even if the projects take a long time. I tend to be the person people ask about hard technical questions they can't answer. Architectural design comes naturally to me, and I refactor code as a matter of habit, except immediately before deadlines, where time may be especially critical. In addition to coding and design, I also have plenty of experience in training, technical writing, and quantitative analysis.
My working style
I emphasize quiet productivity, good communication, egoless programming, and overall competence.
Scientific personality assessment
More info about what kind of programmer I am. It's very accurate. ;^)
Other Champaign-Urbana is home to the University of Illinois and NCSA. I like the culture here in Urbana and its twin city Champaign. The people are friendly, and the math and engineering libraries on campus are fantastic.

If you would like to comment on this website, any of the topics discussed in it, or anything else that's not spam, you can contact me at dsb@prairienet.org. If you're looking for a programmer, you can see projects I've worked on and my resume. Contracts and telecommuting jobs are welcome.

This website

One thing a programmer experiences, after staring at a computer screen for a long time, is eye fatigue. Material displayed in light text on a dark background is easier on the eyes.

This website, like most things I do, places a strong emphasis on functionality and content. Visual formatting is a priority only to the extent that it helps to display the content without distracting from it. Two websites have served as examples of simple layout, the first from business and the other from programming. Also see this article.

The logo for this site is a picture of two little boxes connected to each other, with an arrow coming out of each one. This is a visual representation of the Lisp data structure called a "construction cell", or "cons cell" for short. It's the basic building block of lists, which are very important in Lisp and functional programming. The blue arrow in the left box points to a piece of data in the list, and the red arrow in the right box points to the next cell in the list. Cons cells can also be used to make more complex tree structures.

© 2006–2008 Daniel S. Bensen   Home   Site map