Databases · Uncategorized

Working with big data databases in Delphi – Cassandra, Couchbase and MongoDB (Part 2 of 3)

This is the second part of a three-part series on working with big data databases directly from Delphi. In this second part we focus on a basic class framework for working with Couchbase along with unit tests and examples. Part 1 focuses on Cassandra, Part 2 focuses on Couchbase and Part 3 focuses on MongoDB.… Continue reading Working with big data databases in Delphi – Cassandra, Couchbase and MongoDB (Part 2 of 3)

Foundation · Tips & Tricks · Uncategorized

Unit Testing Generic Types

So you created a generic class. Maybe a specialized generic collection, like a generic set. Professional as you are, you are going to need some unit tests for this class. But how do you test a class that can have so many variations depending on the type argument. You could write test cases for just… Continue reading Unit Testing Generic Types

Communications · Foundation · Uncategorized

Scalable HTTP/S and TCP client sockets for the cloud

Now that the cloud has become a core part of every developer’s life, we are faced with designing scalable, distributed services that reside on these platforms (Amazon’s AWS, Google Compute and Microsoft Azure) and are able to interact with other third-party facing services and middle-ware such as databases, messaging brokers, remote push messaging services and… Continue reading Scalable HTTP/S and TCP client sockets for the cloud

Libraries · Uncategorized

Cross Platform Text-to-Speech

This post is a small exercise in designing a cross platform abstraction layer for platform-specific functionality. In particular, we present a small Delphi library to add cross platform text-to-speech to your app. It works on Windows, macOS, iOS and Android. You can find the source code on GitHub as part of the JustAddCode repository. If you… Continue reading Cross Platform Text-to-Speech

Tips & Tricks · Uncategorized

Cross Platform Abstraction

Delphi supports quite a few platforms now and the FireMonkey framework abstracts a lot of the platform specific issues for us. But occasionally you want to use a platform-specific feature that FireMonkey does not support (yet). Or maybe you want to use it outside of the FireMonkey framework. For example, suppose you want to add… Continue reading Cross Platform Abstraction

Foundation · Uncategorized

Expand your Collections collection – Part 1: a generic set

Welcome to this first post in a series about custom (generic) collections in Delphi. These are part of our Grijjy Foundation library of classes and utilities that are used throughout our code base. Other Grijjy Repositories often depend on this library. Introducing TgoSet Have you ever doubted between using a TList<T> or TDictionary<T> to store… Continue reading Expand your Collections collection – Part 1: a generic set

Databases · Uncategorized

Working with big data databases in Delphi – Cassandra, Couchbase and MongoDB (Part 1 of 3)

This is the first part of a three-part series on working with big data databases directly from Delphi. In the first part we focus on a basic class framework for working with Cassandra along with an example application. Part 1 focuses on Cassandra, Part 2 focuses on Couchbase and Part 3 focuses on MongoDB. For… Continue reading Working with big data databases in Delphi – Cassandra, Couchbase and MongoDB (Part 1 of 3)