Meetings 2022

Agenda & Information for the Meetings held in 2022.  See Next Meeting for next meeting.
For each of the meeting dates there is a link to the meeting summary.

See Downloads 2022 for the available files associated with the meetings

Date: 11th July 2022

Agenda:

  • Lets do some pascal scripting, as used in our ETL (Exchange, Transform, Load) tool – Lorenz Wolf
    Will look @ FastScript Scripting library for Delphi 7-XE8, C++Builder 2005-XE8, Embarcadero RAD Studio 11 and Lazarus from Fast Reports .com
    How we have used it in our ETL tool; for lack of a better name ritTWDC.exe (r-retail it – infotechnology T-two -W-way D-data and C-converter. )
    Explain how we use it and go through some simple scripts to some more complicated ones using OLE/COM to bind with other useful components.
    One of which is WINSCP – windows secure copy to provide easy access to a smorgasbord of communication and file transfer protocols.
    Examples
  1. Ecommerce workflow example – fetch xml order files SFTP, transform to alternative XML format , call Soap Webservice/s (Web Request), remove processed files, Notify via Email if error conditions occur. Pop original order XMLS into MSSQL database.
  2. Simple Emailing or data conversion
  3. Using commandline variables/ parameters in the script to allow for more integration options.
  4. Custom Plugin dlls to extend or bespoke functionality
  • A quick look at Lazarus – Ian Hamilton
    An intro to the Lazarus IDE and a discussion of some of the things that I have found it can do and cannot do. For those who cannot afford to keep up their Delphi maintenance, a look at the kind of projects for which Lazarus is, or might be, a viable alternative.
  • Introduction to Network Boundary Security – Rob Lambden
    Code-free (code to be covered in a later session if there’s still sufficient interest!).
    Background to IP layer security, role of the boundary, networking stack on Linux (and maybe Windows … probably not).
    Tools to keep your boundary secure and how to leverage them.
    Future session to include the software design and implementation code for agents that are used to respond to issues inside the network and implement blocks at the boundary.

Date: 15th June 2022

Agenda:

  • Integration testing with WebMocks for Delphi – Richard Hatherall
  • Continuation of – Anonymous Methods with and without Delphi – Dr Kevin Bond
  • Toolkit Corner, to include:
    • Beep and Compilers – Adam & Brian Long
    • MMX Refactorings – Dr Kevin Bond
    • Bookmarks – Paul Woodhams
    • Linker Switches – Mark Jacobs

Date: 17th May 2022

Agenda:

  • Guest Speaker: Delphi memory management – Dalija Prasnikar
    Memory management. One of the most basic parts of software development, often kept on the side even though it has the most profound effect on how we write our code.
    Managing memory is both a trivial and a complex task. Trivial, because the basic rules are rather simple and straightforward. Managing a few references, when you know the rules, is a piece of cake. The complex part comes from several things. First, even though each rule is simple, there are many of them, and knowing and remembering them all is a challenge. Next, combining the rules makes even more rules. Some combinations work, some don’t, and while this knowledge can be extrapolated from each single rule, it is easy to overlook some important fact that can lead to disaster. And at last, complexity arises from all the pieces of code sitting together in one place, obscuring each other.
    What is important to remember is that managing memory requires following the same simple principles, regardless of the size of the codebase. Divide and conquer is the winning strategy. If each small, self-contained piece of code, where managing memory is trivial, is done right, then all the pieces can work together in harmony.
  • Anonymous Methods with and without Delphi – Dr Kevin Bond
    Talk will cover background to anonymous methods, the functional programming style, higher order functions and closure, how Delphi implements anonymous methods, comparisons will be made between Delphi, PascalABC.NET, Haskell, Python and C# via example programs that use anonymous methods/functions/procedures and fluent interfaces.
  • Speech APIs in Delphi and C++ Builder – Mark Jacobs, Richard Hatherall, Ian Hamilton
    A demo of using a basic API from MS in BCB5 (MJ), Polly in AWS (RH), and 2 short demos, at 5 minutes each, one on Azure and the other on TMS (IH)

Date: 11th April 2022

Agenda:

  • Guest Speaker: RAD Studio Open Tools API – Glenn Dufke
    Have you ever wondered how you can extend the RAD Studio IDE yourself? Do you have an idea for a helper utility which could ease daily development?
    Then the Open Tools API is the gateway to extend the IDE!
    Embark on a deeper dive into what the Open Tools API is and how you can work and access many IDE elements, including the new Welcome Page API.
    We’ll code a Welcome Page plugin and look at how you can access the editor buffer.
    Feel free to prepare questions if you have specific ideas and want help to get started.
  • Nugget: Chasing down a bug – Jason Chapman
    A user was reporting that a report was missing rows
  • XML Import Export – Rob Lambden

Date: 16th March 2022

Agenda:

  • Server Load Testing – Simon Hooper
    We have 90,000 staff, does it scale? asked a potential customer. How we measured how many Reports Per Minute (rpm) that our Wise Eyes server can deliver. Concept, code, live demonstration and results. If time allows an introduction to the issues of high capacity.
  • Guest Speaker: kbmMW SmartService and kbmMW SmartBind – Kim Madsen
  • Embarcadero webinar: “What’s Coming in RAD Studio Alexandria”

Date: 15th February 2022

Agenda:

  • React framework – an introduction – Will Watts
    React is a front-end web library used with JavaScript and – increasingly – TypeScript. It concerns itself with the efficient management of the browser DOM. Developed by FaceBook (booh, hiss!), with innovative elements of functional programming in the design – for example, it is moving away from using classes/objects as the basis of visual components – it has become the dominant framework in its field.This would be a contrasting talk to Andrew C’s presentation of his homebrew framework.
  • Nugget: Automating Google lookups – Mark Jacobs
    I gave a talk on Google lookups before, but they seemed to have clamped down on the methods I used, and they no longer work on Google. I discovered a way to circumvent these measures, using Google’s image search. I propose to talk about how I do these image lookups, using a random web page selector I have developed at https://jacobsm.com/randword.htm
  • InterBase and InterBase with IBX – Jason Chapman
    The title is pulled directly out of a request from MartinB in the group.  I no longer consider myself an expert at the cutting edge of what is available with Interbase, but I can cover the basics and provide a platform for others to chime in with their experience (relevant experience of course, I’m not going to entertain “I wrote my own DB engine”). So this will be an introduction to Interbase and the cross over with Firebird, then specifically talking about IBX, which is the road less travelled these days as most are likely to be using Firedac

Date: 17th January 2022

Agenda:

  • Developing a full XData – WebCore stack – Russell Weetch
    This session will show the work doen to create a fully functional application using the TMS XData server and WebCore client library.
  • Buying and Selling a Software Business – Rob LambdenWhat’s involved in buying and selling a software business, how much a software business is worth, how the deal can be packaged.
  • The AWS SDK for Delphi – First look and discussion about evolution and adoption by Embarcadero – Richard Hatherall