Libraries · Tips & Tricks · Uncategorized

Face Detection on Android and iOS

Android and iOS have built-in support for detecting faces in photos. We present a small platform-independent abstraction layer to access this functionality through a uniform interface. You can find the source code¬†on GitHub as part of our¬†JustAddCode repository. Like we did in our post on Cross Platform Text-to-Speech, we expose the functionality through a Delphi… Continue reading Face Detection on Android and iOS

Communications · Foundation · Libraries · Uncategorized

GrijjyCloudLogger, remote logging for Windows, iOS, Android, macOS and Linux

GrijjyCloudLogger is a remote logging tool that allows you to send log messages over the Intranet or Internet from Windows, Linux, iOS, Android and macOS devices to a viewer running on Windows. Besides sending messages along with any data, it has numerous features including custom live watches, remote live views of objects, tracking live memory… Continue reading GrijjyCloudLogger, remote logging for Windows, iOS, Android, macOS and Linux

Optimization · Tips & Tricks · Uncategorized

Experiments in Uniform Memory Management

We experiment with algorithms to make memory management in Delphi more consistent between desktop and mobile platforms. This eases debugging and finding memory leaks. We look into using object interfaces and semi-automatic memory management based on ownership. Along the way, we touch on using linked lists and Delphi’s messaging framework. Warning: this post is more… Continue reading Experiments in Uniform Memory Management

Communications · Social · Uncategorized

Using Google Sign-In for Firebase SDK on Android

In this article we will show you how to use Google’s Firebase SDK for sign-in on Android devices. While most login implementations launch a web browser to start an OAuth/2 flow even in Windows, iOS and Android apps, we will be demonstrating how to directly use the Google SignIn SDK in your app to present… Continue reading Using Google Sign-In for Firebase SDK on Android

Optimization · Tips & Tricks · Uncategorized

SIMD Assembly Optimization

We get close to the metal as we demonstrate how you can incorporate assembly optimized SIMD routines into your Delphi apps. This can be done by using inline assembly code for Intel platforms, or by creating and linking a static library for ARM platforms. Nowadays, with optimizing and vectorizing compilers, few people still hand-write assembly… Continue reading SIMD Assembly Optimization

Communications · Libraries · Uncategorized

Roll your own lightweight, scalable backend using ZeroMQ

ZeroMQ is high-speed, distributed messaging library for building scalable communication apps using smart patterns like pub-sub, push-pull, and router-dealer. In this article we will be demonstrating a Delphi version of the ZeroMQ Majordomo Protocol specification which is lightweight distributed communication framework for creating service daemons running on Windows and Linux (with Tokyo 10.2) and client… Continue reading Roll your own lightweight, scalable backend using ZeroMQ