When Const is Not Const

Recently on the Delphi Developer FB Group, this interesting post caused quite the confusion: Enter the Debugger With the const modifier the memory addresses are the same (pass by reference): p1: TPoint $427CECp2: TPoint $427CEC Without const, they are different (pass by value): p1: TPoint $427CECp2: TPoint $19FF28 The global variable p1 has a value […]

Kotlin is Funky!

A couple of years ago I took a quick look at Kotlin and came away with the impression that it felt like a band-aid over Java. Not much to see here. Recently, however, I had to use Kotlin to complete a coding challenge for a job application. I was pleasantly surprised. Not only is the […]

Java Long versus long in Spring Boot

Recently I’ve had to jump onboard a Java Spring Boot project. Not having used Java for a long time, I was surprised that my code was throwing null pointer exceptions (NPEs). In C#, I rarely encountered an NPE. Indeed, I thought the new compiler work on null-reference types was a waste of focus. The only […]

Delphi the Solution

Delphi Microservices: This is a nice webinar explaining how Delphi was leveraged to build a great company. But then management started listening to Java and SAP consultants to move away from Delphi. After two failed attempts, and a lot of wasted money, they gave the Delphi team a chance:    

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 judiciously, can be beneficial. For example, you may want code to execute in debug but not release, you can define the symbol accordingly and avoid hundreds of #ifdef’s throughout your codebase. Arguably, you could […]

The Hacker Way

The Hacker Way (Mark Zuckerberg) As part of building a strong company, we work hard at making Facebook the best place for great people to have a big impact on the world and learn from other great people. We have cultivated a unique culture and management approach that we call the Hacker Way. The word […]

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 […]

Recent C# Language Changes

A couple of years ago I began an XMPP Component Framework in C#, but after a few days I had to put it on hold. One thing led to another, and it’s been on hold ever since. I’m finally returning to it. C#, however, has had some significant improvements since then, I want to start again […]