For more than 20 years I was the chief programmer for a small professional liability insurance company. We were a small shop (just me at the beginning), which meant that I was involved in building virtually every aspect of the company’s IT infrastructure - from network planning and tape backups right through to coding web services.

Designing and Building Applications

Sometimes you just need something built, and you need someone that you can trust to understand your business and your needs, and to build the right thing. This is what I do, and what I’ve spent a lifetime doing.

General Java and Kotlin Programming

I have over 10 years experience programming with Java and leading a team of programmers building applications to support the changing needs of an organization.

  • Hands on experience with the latest versions of Java
    • Lambdas, streams and Optional
    • Records
    • Expression Switch statements
    • var
  • Experience building web services, micro-services and docker deployments
  • Experience with multi-threading and concurrency
  • Experience with multi-user systems
  • Experience in building systems to consume external REST services
  • Consuming and creating PDF documents and Excel spreadsheets
  • Experience building utilities to connect or monitor systems, convert data or to analyze logs.

I believe that Kotlin represents a substantial leap forward over Java in terms of creating applications that are easier to understand, maintain and enhance. I can help your organization make a transition to Kotlin, or perform any application development you require in Kotlin, as well as Java.

Java/Kotlin Desktop Programming with JavaFX

I have been using JavaFX since version 2 was released in 2014, and I have an advanced understanding of how to approach the design of applications, as well as the technical expertise to build great applications. Unlike most programmers, I understand that JavaFX is a reactive programming environment, and I build applications to leverage those capabilities.

While it might not be the right platform for your core business applications, JavaFX can be extremely valuable for solving niche problems. For instance a desktop application to monitor other applications, to track key indicators or to extract and analyze data. Desktop applications can be easier to create and deploy than web based applications, and JavaFX is one of the best platforms to develop them.

MultiValue Databases

If you are in charge of an application running on some kind of MultiValue system that you don’t understand, like Revelation, Universe or UniData - especially Universe. I can help you.

Here are some things that I can do:

  • Enhance, fix and improve your application in its native environment.
  • Extend your application to connect it to other applications.
  • Build web services to allow external applications query and update your MultiValue application.
  • Perform ad-hoc reporting on your MultiValue database
  • Analyze the database and optimize the file structures to improve performance.
  • Analyze your application to assist in migrating to a new system.

Most people don’t realize how capable MultiValue systems can be, and that they have the tools built in that allow them to be transparently integrated into a modern, diverse systems environment. I’ve spent decades building solutions to allow a legacy Universe application to interact with other systems in a highly connected computing environment.

Infrastructure Advice and Guidance

Confused about what “Cloud”, “SaaS” or “Virtualization” means? Don’t understand what the sales rep from the managed services company is saying? I can help.

Smaller businesses might not have the need for a day-to-day IT manager, while sometimes needing advice about how to move their IT infrastructure forward in order to stay modern and secure. I’ve had decades bridging the gap between business needs and technical details.

Linux and Unix Configuration and Management

I’ve been working with Unix since 1992, and Linux since about 2010.

Things that I can help you with:

  • Shell scripting
  • Manage cron scheduling
  • Configure the printer subsystem, sendmail/postfix and logging
  • Configure networking,NFS mounts and Samba
  • User account management and Configuration
  • Disk, LVM and file system management
  • Performance management and tuning
  • FTP configuration
  • Configuration of Linux as a day-to-day workstation, replacing Windows