Lair 13

Everyone wants to build, no one wants to maintain. Kurt Vonnegut.

Service Truck

Build and Maintain

I will gladly build and maintain software tools for you. Effective software can improve service and reduce costs by automating formerly manual processes.

End Section

Most software development these days involves some sort of HTML-based web browser user interface. I can design and build both static and dynamic web sites for you using the latest techniques.

Blogs are great tools for web entrepreneurs, providing an easy-to-use interface for creating and maintaining content. Web sites that change and provide useful information to visitors are more likely to produce return visits. I can help you choose a blogging tool that works with your environment, install and configure the blog and customize it to match your web site's look and feel. My current favorite blogging tools are Roller, which is written in Java, and WordPress, which is written in PHP. WordPress is simply awesome software.

If your needs are more sophisticated, an Open Source content management system such as Joomla! may serve your needs better than a blog.

Many businesses are finding that a Wiki is an excellent tool for customer support. Of course, the most familiar wiki is Wikipedia. The same tool used by Wikipedia is freely available for your use, as are alternatives. I can help you set up your own wiki for whatever purpose you desire.

Mapping is hot. I can help you to integrate maps into your web site using the Google Maps API or open-source tools like Open Street Map. Using a spatially-enabled database like PostgreSQL with PostGIS, I can incorporate sophisticated geographical queries into your web site.

There is still a call for conventional development. Desktop and command-line applications are still the best solution for many problems.

Data migration is important when you switch from one system to another. I have built many applications that move data from one place to another, transforming it in the process.

I have built desktop applications with Graphical User Interfaces. I am currently working on an iPhone application using CocoaTouch and Objective C. I have built Java applications using Swing.

I have worked for years designing, building and administering relational databases. I can design and build an effective database to hold whatever you want to store. Good database design reduces data duplication and makes it easier to get your data out of the database. I have worked with a variety of databases and can program in SQL.

It's also important to know when not to put your data in a database. It may be overkill to store data in a database when the web site is fairly static. Modern web servers are quite efficient serving files stored in the server's file system and it may not make sense to add an extra layer by storing the file's data in a database.

There are also sophisticated alternatives to SQL databases that make sense for storing document-centric data and are designed for fast searching and relatively inexpensive scaling. An example is MongoDB.

I can also create binary data files and structured text files using XML and transform data on the fly into standard file formats like Portable Document Format (PDF) and Rich Text Format (RTF).

While I'm not a designer by trade, I can build attractive and effective user interfaces. Using Cascading Style Sheets, I can build web user interfaces that can be altered without changing the web page source HTML.

Appropriate typeography adds a lot to a web site design and simple photography and graphics can improve the look of a web site. One can even use stock photography--perhaps combining stock images.

For commercial sites, good design tends to be functional. I believe it is wise to not to get too carried away with whizzy design elements. An interface that pops up, flys away or drops down all over may confuse the user. On the other hand, judicious use of modern web design techniques like drag-and-drop can enhance the user experience.