Discussing, Learning, and Using Delphi and related technologies to create Great Applications!
procedure Meeting;
const
  MeetingTitle = 'Death & Taxes - And Delphi!';
  MeetingMonth = 2026.04 ;
  { tags: #2026 }
begin
  WriteLn('''

They say two things in life are certain: death and taxes. Delphi applications might just be a third — and if yours is still generating revenue, that’s something to celebrate, not apologize for.

  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'AI Follow-Up';
  MeetingMonth = 2026.03 ;
  { tags: #AI #2026 }
begin
  WriteLn('''
Homer Jones will present a follow-up to his talk last November, on adding AI support to his insurance agency management software. He will cover the Retrieval-Augmented Generation (RAG) method of using and controlling Large Language Model AI. We’ll discuss Theory, Implementation, Best Practices, Prompt Engineering, how to make AI execute application events, and how to keep it from wandering off on it’s own train of thought. There will be a code demonstration to show how it works as a real user assistant, even voice activated.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'A Complex Solution';
  MeetingMonth = 2026.02 ;
  { tags: #2026 }
begin
  WriteLn('''
Sometimes, advancing technologies help make things smoother; many times, they make things more complicated. In the case of running Windows applications, moving from an office installation to a set of remote servers offers many benefits but can also negatively affect some features of what the software used to be able to do effortlessly. Tonight, we’ll share the details of how simply transferring files between a local computer and a remote software product suddenly took a dramatically increased amount of time when changing the access to the software–and what it took to resolve it.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Add AI to your Delphi App';
  MeetingMonth = 2025.11 ;
  { tags: #AI #Homer Jones #2025 }
begin
  WriteLn('''

Everyone is talking about AI these days. Many use AI to help with their programming. But what if you want the software you write to use AI or provide an AI interface to its users? Are your customers clamoring for AI-enabled apps? Are you afraid of losing business if you don’t add it? What will it do?

We’ll answer many of these questions at tonight’s meeting–and show ways to add AI capabilities to an old Delphi application!

  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'All About JSON';
  MeetingMonth = 2025.10 ;
  { tags: #Cyndi Lewis #Homer Jones #2025 }
begin
  WriteLn('''

Have you heard about the JSON format but are not sure what it’s for? Or perhaps you’ve been using a JSON library in your Delphi programs but are wondering if there’s a better one. October is the month we’ll answer those questions!

  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Delphi 13 Florence';
  MeetingMonth = 2025.09 ;
  { tags: #2025 }
begin
  WriteLn('''

Delphi 13 Florence is the latest major release of our namesake’s IDE and has several new features including the language’s very first ternary operator!

  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;