Skip to main content
Thoughts from David Cornelius

Text Editors Revisited

Category

Admittedly, text editors isn't a terribly important topic to blog about but since I wrote a public comparison of UltraEdit vs EditPad just over a year ago and since my preferences and stance on these have changed, I thought I should explain my new perspective. My license for the UltraEdit package was the All-Access Subscription, which means I had a full license to use all of the products in the suite for a year after which I would need to renew the license in order to keep using them.

Go!

Category

As mentioned in my last entry, I've recently become curious about the Go programming language, so I took a course to learn the language, partially to support add-ons for Hugo and partially to compare with other languages I've used--most notably, Delphi. What I found was a simple but powerful language, thoughtfully designed, that promotes good coding style and breaks some established patterns of thought I've had with object-oriented programming. In this blog, I'll give a brief overview of what I learned about the Go language from the perspective of a programmer who's used mostly Delphi (Pascal) but with a sprinkling of other languages (C, C++, C#, VB, and PHP) throughout his career.

A New Direction for Web Development

Category

Back in May, I lamented about my struggles to keep my Drupal websites updated. If I had command-line access to the web server, I could use its recommended method, Composer, and a cron job could magically keep everything updated for me--but I use inexpensive shared web hosting and that is not an option. This means I must manually upload a bunch of PHP files for each Drupal update. A comment on last May's blog opened my eyes to a different approach: use a static website generator. As I read reviews and tried a few of them out, I kept coming back to one in particular: Hugo.

For Historical Purposes

Category

Early in my career, I was studying the code of an application written for the Apple II in preparation for developing something similar on the PC and would often ask questions of the original programmer. Most of the time, I'd get valuable information about the purpose of a routine or why something was done a particular way. But every once in a while, when pressed for an explanation, the programmer would think for a minute, then simply utter, "For Historical Purposes" and walk away chuckling.

Thankful for Delphi

Category

This time of year in the United States is marked by a major holiday, Thanksgiving, the last Thursday of November. It is during this time that ad campaigns, religious organizations, and families everywhere tend to step up their recognition of everything they're thankful for. As a software developer, I'd like to hook into this theme and highlight features of programming tools I use that make my life better--most notably, Delphi--and create my own "thankfulness" list.

Resisting Windows 11

Category

I like to keep all my computers upgraded with the latest versions of their respective operating systems. This goes for Mac and Android devices as well as all machines running Windows--even my virtual machines get the most recent upgrades whenever I use them. My development systems all use Windows but only one has been upgraded to Windows 11--the rest are still on Windows 10.

Multiple Installs of Firebird

Category

As a Delphi developer, you might be working with the popular and free Firebird database engine. There are several versions and if you have multiple clients or applications, including some legacy ones that are in maintenance mode, there might be a need to have multiple instances of the Firebird servers installed side-by-side. If you're like me, you might forget which versions are listening on which ports and so use a utility like CurrPorts to remind you. But if you don't use a particular database service very often, it might not be started--or not even installed on the machine on which you're working. If you also have InterBase running, there might be conflicting or generic service names like "gdb" which doesn't tell you which engine it's for nor which version. This confusion can be reduced if you make a few configuration file changes and install the Firebird services yourself. Here's how.

Using the Vault API

Category

Nearly two years ago, Idera acquired apilayer, a collection of various cloud-based APIs. Idera being Embarcadero's parent company (and Embarcadero being the publisher of my favorite development tool, Delphi), I was interested to see what this was all about and looked at the handful of APIs available. One caught my eye and I made a note to come back and check it out more when the time was right.

Subscribe to