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:
Why is it that when companies have a good thing, they have to go mess it up by changing its design? I've seen this in many different industries but since change happens so much more quickly in software, I seem to be annoyed much more often with changes in user interface.
DevArt Software has been busy at producing a great number of database tools and components for both Delphi and Visual Studio developers over the last few years. They're still coming out with new ones as well. One of the most recent additions is dbForge Data Generator for SQL Server. I purchased version 1.0 in April, 2015 and they've been hard at work improving and adding features--they're already at version 3.5! You can read about their features on their web site linked above, but I'd like to highlight a few I think are notable and have been very useful to me.
Programmers can be grouped into two broad categories: 1) Career Developers, and 2) Passionate Technologists. Career Developers will pick a language and a job and be very good at what they do, produce excellent work for their employer, and live happily ever after.
A friend of mine runs a business selling a Windows application for a niche market. Of course he has a web site with lots of information and a way to download a trial of his software and then pay and register it. Since he's a technical person, likes writing code, likes to keep overhead low, and his needs are fairly simple, he wrote the registration program himself. He's most fluent in Delphi so it was natural to write the registration program in Delphi--an old, but very functional Delphi 2007.