C++ ORM DSL via Macros

Macros, like the goto statement, have become somewhat frowned upon nowadays, but (IMO) I think that’s a little excessive. Macros used correctly, within the confines of symbol declaration (i.e. no computation), can be beneficial. For example, you may want code to execute in debug but not release, you can define the symbol accordingly and avoid […]

Delphi Mobile – It’s all Components

Delphi is an excellent tool for cross-platform development, using FMX you can target all major platforms from the same code base. Component based development is efficient, and enjoyable. With Delphi, you can build anything. Delphi 10.3.2 has just been released, you can download the community edition here. Some awesome mobile,tablet and IoT applications built with […]

FMX Strings – Best Practices

In C the first character of an array begins at index zero (0), legacy strings were essentially an array of characters terminated by a null character. To determine the length of the string you would use the strlen function. The practice of indexing from zero is common to all languages based on the C syntax […]

Delphi Fmx (DFM) Objects Into Code

Introduction Recently I downloaded a Delphi project from GitHub, the beginning of a Trello clone. I found the application, although in very early stages, to be quite charming, and wanted to play around with it a little: The first thing I set out to do was to dynamically generate items, and it struck me that […]

My First Flutter Application

In the Beginning I saw this video, and was intrigued: Then I did it, I wrote my first Flutter App. Flutter has been on my radar for a couple of years now, I had watched a bunch of videos and dabbled, but I hadn’t committed to using it. Last week, I decided to jump in […]

NDepend – A Developer’s Best Friend

Creating a Mess Recently I began work on an XMPP Component Framework in C#, initially trying to reuse code from a previous version. I’m trying to do it right this time, conforming to the official specifications. This has led to a lot of rework as the previous version was essentially based upon code I’d written […]