Adam’s May 2021 Meeting Summary

Agenda

  • Delphi (Nearly) Into Space – Dave Akerman
  • Building a game like Rummikub – Martin Hamilton
  • Nugget: LetsEncrypt – how to get going in 15 minutes – David Capps

Adam’s Summary

News/Problem Clinic

Jason Chapman lead discussion which touched on a wide range of topics, including the possibility of meeting face-to-face as well as on-line in the near future. No decision was made, as it is still judged a bit early, but several members voiced a desire to get back to physical meetings, while others said they really hoped that the on-line component of the meeting would continue.

Delphi (Nearly) Into Space – Dave Akerman

Dave Akerman gave an amazing wide-ranging talk about his work with Delphi over many years. Dave has programmed in a very wide variety of contexts, professionally and as a hobbyist. As is often the case, much of the hardest code he has written seems to have been for his hobbies, which tells you something about him.
Dave’s day-job involves writing Delphi Applications for businesses processing liquids such as paints and dyes. In this context he writes systems for Control-Panels that integrate with sensors and process-controllers through to back-office data-management systems running on PCs. He uses Firebird as his main database, and a range of Delphi third party components for UI.
A great talking point was that one of his customers printed the parachute for the recent Mars Lander.
Dave also discussed many years writing software for Balloonists, who send balloons up 20 – 40 km into the upper atmosphere on the edges of space. In this context he also writes a wide range of software. Some to run on Raspberry Pi computers gathering data from cameras and sensors onboard the balloons. Some to receive and process data, to track the geo-position and height of balloons as they travel and to predict their likely landing positions.
Dave’s work includes Android-based FMX Apps with can be used to find the payloads of fallen balloons and interfaces to work with common web-server data-sources such as Google Maps.

Building a game like Rummikub – Martin Hamilton

Martin Hamilton spoke about developing an on-line game for friends and cub-scouts to play over the lock-down period. Rummikub is a 2 pack, Rummy-like game making runs of suits and numbers, played by 2 – 6 players. Martin built a Server program to manage and generate the game-play, and a client App built in TMS WebCore, on which to play the game. He chose Windows Socket Messages as his mechanism for data-transfer, although this is virtually deprecated, it is simple and as an “old mainframe guy” it appealed to Martin.
Problems that piqued my interest included the fact that while developing in WebCore the IDE only reports a single error in each syntax check, and the error-lines reported were wrong which slowed down Martin’s debugging. Other members confirmed this serious issue with TMS WebCore, which they are working to fix.
Also he discussed the use of INCLUDE files and DEF calls extensively, mechanisms to control compilation for different platforms or service-types. He also discussed www.noip.com, a company who rent IP addresses to enable businesses to manage static-IP websites. Martin uses their free tier (5 IP Addresses).
Martin has learned about socket-messages the hard way. WinSocket messages are sent in random-sized blocks, and the server must be programmed to wait for a “whole” block to arrive before processing it. Applications using WinSocket messages also have to be fully “disconnection safe”, as there is no guarantee that a client will remain connected. In switching to TMS WebCore the format of the messages changed, requiring a major code re-write. Altogether a lot of work, and an interesting project.
Some images of Martin’s code are included below.

Nugget: LetsEncrypt – how to get going in 15 minutes – David Capps

David Capps of Savoy Systems spoke about setting up an HTTPS enabled website using Lets Encrypt.
This was a short nugget, the main coding section consisted of downloading an application “Win-Acme” from Lets Encrypt, running it on the command line and entering a small number of variables in response to prompts.
That was also what made it pretty amazing. David managed to jump from a standard Port 80 vanilla website to an HTTPS Port 443 site in well under 5 minutes. Additional points included the fact that while the HTTPS license runs for just 3 months, the Application adds a prompt to re-run itself one month prior to the license expiring, so the renewal process is well automated.
The main benefit of Lets Encrypt is that it is well organised and completely free, a big saving compared to older systems.
Other members who also use the company chimed in and said that it is good, and discussed extensive mechanisms for customizing and extending the website registration process to your particular needs.


A good meeting as we all gradually come out of lockdown …