First off, I shamelessly admit the title is just a little misleading but it was so catchy, I couldn't resist! However, setting up a quick Drupal website did turn out to be the easiest way I could think of to get around some limitations in the environment from which I was trying to transfer a Delphi project.
Software "Easter Eggs" have long been a fun thing to stumble across. Hidden features, not documented in the standard user guides but found by users (or leaked by developers) are then spread by word-of-mouth as everyone has to go find and see it for themselves then tell their friends. Often, these gems are small and don't take much time as developers sometimes have to sneak them in. Others, like flight simulator in Excel 97 are more involved.
Have you ever downloaded an application and had Windows try to prevent you from opening it? Many times that will slow or stop malware from getting onto your computer but for contract programmers that distribute a variety of custom-built applications to clients, it can be annoying to them as they struggle to keep the download from being quarantined or deleted by their web browser or anti-virus program. Often, the download is halted simply because the application is not recognized and the publisher is unknown. Fortunately, there's a solution that doesn't cost too much and provides not only peace of mind for the person attempting to install your software but also smooths the process, eliminating warnings.
I often have to write up contracts or work agreements and have a few templates for this purpose. Microsoft Word has a field function where you can create fillable entries which is nice for making forms but that's not what I need to do. What I would like to do is once I fill out one of the fields, I'd like it replicated to other places in the document where that field appears. You'd think this would be easy but I've struggled to find good documentation on how to do this.
Today, I finally got it!
I listened to a podcast today entitled, The myth of turning your hobby into a job. It discussed how so often people discover too late that doing something you like doesn't keep its luster once you have to keep doing it day-in and day-out in order to support yourself. The thing they once enjoyed with a passion has become a drudgery, an obligation.
It got me thinking about my career history.
I'm writing a book about cross-platform development with Delphi and in one of the chapters that covers accessing phone features, such as the camera and location services, the demo app I present stores a list of parks with a name, picture, and coordinates for each. I put the list of parks on the first tab and a picture along with an edit box for the park name on second tab.
I somehow managed to interrupt the slide transition two-thirds the way through, leaving a funny display on the screen.
Installing and upgrading Delphi is a pretty big task. With support for eight platforms, a dozen different databases, multiple web services and servers, a rich run-time library, and an ever increasing array of programming tools and IDE productivity aids, I'm in awe that for the most part, the process is fairly smooth. I'm sure there are those still on Windows 8.1 or older or have machines with limited memory and slow hard drives that bemoan the time it takes or incompatibilities they encounter.
I didn't write here much about the release of Delphi 10.4 Sydney but I've been using it almost exclusively for the last several months and have upgraded all projects I could to the latest and greatest version. It really is an amazing environment and continues to get better.
I do almost all of my development from virtual machines. I use VMWare Workstation Pro for this and it has served me well for many years. I like the snapshot and cloning aspects plus being able to move a machine to a different drive, back it up, and even put it on my in-office Windows server and free up local memory and hard drive space.
As I've done this a number of times, there are some steps that I replicate on every machine for consistency and convenience. Everyone will have their own way of doing things and favorite tools--these are mine.
Delphi 10.3 Rio has been out for awhile now, in fact, I recently installed the second update, so this post is a little late to the party but I thought I shared my thoughts anyway.
I needed to reinstall Delphi 10.2 recently and when I did, I finally decided to check the box that asks if you want to hook up a source code repository. I've always managed source in repositories outside of the IDE, but decided to see if and how much productivity improvement could be had it was built in with the project manager. I use Git so selected the installed
git-cmd.exe file when prompted.
Way back in 2000, InterBase 6.0 was made open source. Soon a fork was made in the code and Firebird SQL was born. I started using this new powerful database engine and as InterBase went back to being a closed-source product, stuck with the free version or used other database engines. Many tools and Delphi component sets still support both IB and FB as they are still quite similar.
I work on a variety of projects in several different versions of both Delphi and Visual Studio. A lot of these projects also include database access. To support all these different projects, a lot of different tools need to be installed and with each comes a set of paths that are setup for the applications to find libraries, support tools, and so forth. Since most software tools can also generate both 32-bit and 64-bit code these days, there are often two sets of paths for each type of compilation.
Lots of changes to write about since the last blog entry over a year ago.
Delphi has come a long ways since it was first released in 1995. It now compiles 32-bit or 64-bit, still creates console or Windows applications but now also can create Android and iOS apps if you have the FireMonkey library and cross-platform tools, you can create Android and iOS apps.
As an independent software developer, I make my living writing scripts and applications for others. In order to maximize my opportunities, I need to be a master of many environments. Since much of my career has involved Windows applications, I am spending quite a bit of effort in other areas.
Having worked in Delphi for many years, I've seen the development tool and it's RTL evolve significantly, yet remain resilient in backwards compatibility. Early on, to prevent your application from running multiple times, there were generally two different approaches: