1. Introduction

The Trinity Architecture proposed here is an architectural pattern for backend enterprise applications. It emanates from a typical 4-layers architecture employing the Dependency Inversion Principle (DIP). It is ideal for, but not limited to, Domain-Driven Design (DDD) applications.

The three pillars of Trinity are:

  • the Domain Model (DOMAIN)
  • the public Application Programming Interface (API)
  • the Auxiliary Services (AUX)

Trinity emphasizes on balancing uncontrolled flexibility with consistency. It provides specific implementation guidelines with eight top modules.

The Trinity Architecture

The dependencies rules are:

Circles inside a circle: Outer circles depend on the inner ones.

Tangent circles: Outer circles use (clients) or implement (details) the…

1. Introduction

The Hexagonal Ports-Adapters architecture was invented by Alistair Cockburn in 2005. Today, it is one of the most prevalent architectures in the Domain-Driven Design (DDD) community.

Hexagonal Ports-Adapters

Since 2013, I have always struggled to promote Hexagonal in the projects I was involved in. Over the years though, I have frequently seen severe misinterpretations of the pattern regarding (a) the structure of the modules, (b) the dependencies between them and (c) the appropriate locations and definitions of ports and adapters. Moreover, newcomers always get confused with the number six and the Hexagon. Symmetry does not necessarily exist in all cases.

Gradually, I…

Gennitor, is a novel automated code generation and reasoning system, potentially applicable to any programming language and technology, by modelling the essential questions and answers, based on Aristotelian Philosophy a.k.a. Aristotelianism.

Gennitor is a work in progress and its documentation is updated frequently. More analytical details can be found at the following link:


We’re excited to announce that ARIA-3D is now part of a bigger project called Polyfono. Polyfono is an Audio Plugin Host for the Web Browser.

With Polyfono you can have total control over the audio processing and your browser’s sound, as every audio processor is a plugin. You can pick any plugin you prefer from the list of the available ones, connect them in any order you want and elevate your sound experience.

You can get the extension here.

If you would like to learn more about the technical stuff behind Polyfono, you can read this article.


We’re excited to announce the first release of Polyfono Web Extension. Polyfono is an Audio Plugin Host for the Web Browser.

When you need to elevate your sound experience, adjust the sound of your web browser, use special audio plugins & effects such as EQ, dynamics compressor & virtual surround, leverage multiple instances per plugin and connect them as you wish, Polyfono has you covered.

You can get the extension here.

If you would like to learn more about the technical stuff behind Polyfono, you can read this article.


The following text is submitted to the 9th Panhellenic Conference «Acoustics 2018», that will be held in October 8th-9th, 2018 in the Conference and Cultural Center of the University of Patras, Greece.

Listening to sounds produced by the browser is a highly common phenomenon in modern era. Nowadays, audiovisual content is available from multiple online sources ranging from websites, free video / tv / radio providers and social networks to paid content services for movies, music and training i.a.

In principle, listeners are unable to adjust the browser’s sound in any way, besides the primitive volume control, as none of…

Steps for getting the most of your two speakers for virtual surround with ARIA-3D

Want to get the most of your two speakers and enjoy virtual surround with ARIA-3D? Follow these steps for better 3D Sound experience:

Virtual Surround requires that the original stereo has adequate differences between the left and the right channel (i.e. guitar on the left, voice on the right, sound effects with motion etc.). If there are no differences in the recording / mix or if the track is mono, the effect cannot be applied and the sound will be perceived in the center.

1. Bring your speakers close to each other

If you use the speakers of your laptop or tablet, obviously, you don’t have to do…

I am excited to announce the ARIA-3D Google Chrome Extension. It transforms regular stereo into 3D Virtual Sounds surrounding the listener, by processing ANY Audio from ANY Website!

How to use it?

  1. Install ARIA-3D Extension in your Google Chrome Browser.
  2. Visit your favourite website for music or videos (YouTube, NetFlix, Spotify, SoundCloud etc. Any website you can think of!)
  3. Activate the extension by clicking on the ARIA-3D icon and Experience — Instantly — Outstanding 3D Sound Immersiveness!

More features are coming pretty soon, such as equalization and 3D stage parameterization.

For an immediate 3D Audio Demo within your browser, just visit the ARIA-3D Web Player (No installation required).

What is 3D Audio?

For a smooth introduction to 3D Audio concepts, you can read this Primer.

Various Spatial Audio techniques are well known for many years now, mostly to the acoustics and audio engineering experts. New techniques are emerging. The majority of end-users though, is unfamiliar with the topic. Each time i tell someone, that i work on Three — Dimensional Audio, the next question is always the same: “What the heck is that?”. On top of that, there is a specific jargon that we (the experts) commonly use, with terms such as Auralization, Binaural, Transaural, HRTF, Crosstalk Cancellation etc., which makes the adoption for the non-experts highly cumbersome.

If you have never heard about or…

This short story begins back in the mid 2000s. At that time, i had two major passions. Number 1: was listening to music on YouTube. Number 2: was developing AMPHIOTIK — a real-time 3D Audio Engine -, whilst performing independent research on 3D Audio / Spatialization techniques.

Involuntary, at some moment in time i tried to combine my two passions, being: listening to YouTube music in 3D. I tried hard, but i got disappointed. It was just not possible, as the technology was not there yet (only Flash at that time).

Later on, for various reasons, i paused working on…

Christos Tsakostas

Electrical & Computer Technology Engineer / Software Architect

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store