Adam’s June 2021 Meeting Summary


  • Computing in Education in Schools – Dr Kevin Bond
  • AWS Continued…..Deploying applications at scale on Amazon EC2 – Richard Hatherall
  • Getting to the bottom of a tiny tear your hair out bug in the IDE – Adam Brett

Adam’s Summary

News/Problem Clinic

Another nicely attended online meeting, Initial discussions touched on TMS Miletus, and the way they are gradually pivoting their WebCore technology to allow development of Electron-style Apps as well as more traditional browser-based web-Apps.

AWS Continued…..Deploying applications at scale on Amazon EC2 – Richard Hatherall

An excellent, detailed presentation about running applications on ECS instances. Richard covered scaling “Up and Down” and “Out and In”. “Up/Down” meaning converting live server machines from small to large and back, “Out/In” meaning starting additional instances of identical machines. Richard is more of an advocate for “Out/In” rather than “Up/Down”, as it gives more flexibility with options to scale to thousands of machines if necessary, smaller individual machines are cheaper, and you have options to bid for machines as “spot instances” which is far cheaper. Richard gave a detailed overview of all the moving parts in a multi-machine EC2 environment, including use of CloudWatch Alarms to automate scaling, and useful services built into AWS such as automated health-checks on machines. He had written a small program he hosted on EC2 for the session and members logged onto it to trigger load which we then saw trigger the instantiation of new server instances, followed by their “draining” and “closing”, all without any human action. A multi-machine environment does mean lots of complicated thinking about data-storage, machine-settings and user-settings storage. Richard took us through this as well, reviewing the AWS Relational Data Service (RDS) which allows connection to major third party database platforms or Amazon’s Aurora database, which is equipped to mimic either MySQL or PostgreSQL. There was so much content in Richard’s talk it is more or less impossible to summarize, so I would encourage members who didn’t attend to watch the online video. My main takeaway was that boy AWS offers a lot, it is an absolutely enormous eco-system, very fully featured, but also highly addictive. Once your entire server system is deployed on AWS with all its complex bells and whistles it would be a huge task to replicate its features on an alternative platform. I use AWS, and think it is fantastic, but I am a bit scared by just how complex the eco-system is.

Computing in Education in Schools – Dr Kevin Bond

Kevin Bond a long-time Computing educationalist, then spoke about Delphi in the UK education system. This was an extremely interesting largely non-code presentation about development of the UK school curriculum around computer science and IT from the 1960s to the present. I had not really taken on the fact that the ICT curriculum in use in the 1980s – 2000’s had virtually no computer science or coding content. Kevin took us through the process that has turned that around. I found the talk interesting, but quite depressing. My main take-aways were how hard he had fought to keep Delphi Pascal on the curriculum as a programming language option, and just how hard schools found it to enable their pupils to work with Delphi. Expense was quoted as a genuine reason for Delphi’s decline in education, which I think is a shocking and painful oversight on the part of Embarcadero and before them Codegear/Borland. He also said things like “all the teachers skilled in Delphi are retiring or dying off” … which made me feel like a proper dinosaur. He also quoted Delphi’s lack of a gaming engine, lack of an online tool where pupils can write and test code, and lack of any built in mechanisms to create web-based programs as making Delphi look and feel horribly old-fashioned when compared to other languages such as Python.

Getting to the bottom of a tiny tear your hair out bug in the IDE – Adam Brett

I then gave a brief nugget showing how adding a Watch to the Delphi IDE can cause a side-effect changing the value of variables in your code. I managed to fit it into 15 minutes, although the simplified code I had knocked together to demo the issue was too horrible for the group, who immediately spotted a whole range of faults in it, which wasn’t really my intention! Fun though.