Meetings 2017

Agenda & Information for the Meetings held in 2017
See Downloads 2017 for the available files associated with the meetings.

Date: 15th November 2017
Agenda

Topics include:

  • Talk: Utilising JSON to move small data sets from server to mobile and possibly back – Peter Edwards
    The rest of REST !
    Once upon a time getting or consuming data from third party sources was a difficult and precarious and usually came down to compatibility of databases or even “the will” to actually make something happen. Then came along various data sharing methods such as xml and soap – and while a good idea in principle there was no standard to work to so most data sharing methods were poor at best or simply bespoke solutions for individual clients. Today there are standards to work with and the world is a better place for it. Seems that we have a new things called end points and Json and oAuth and ….What is the value of REST – old hat or something else.
    We will take a look at who is using REST and why. How we can quickly use rest data and how we ourselves can join the data revolution and create consumable data safely and relatively securely.  And what have the boys at Embacadero come up with to help us ?
    Just to underline something here – I’m not an expert in this area. I have however been exploring the various methods of dealing with a need to move a lot of data from server to device and back – on my travels I have discovered many ways to achieve this but as with all things, there are pros & cons in all. I have re-discovered the old adage: No Pain – No Gain.
  • Talk: Integrating Delphi & .NET code together – David Capps
    How can we get our Delphi and .NET code to talk to each other? Whether we want to call an existing Delphi codebase from a C# application, or call a C# SDK from a Delphi application, there are many reasons we might want to transfer data between the two languages with a minimum of effort and manual coding. I’ll go into details about the various approaches we’ve tried and the capabilities, pros and cons of each method.
  • Nugget: Transaction amount allocation engine – Andrew Cutforth
    A component for taking two large lists of amounts and allocating them together for best matches.  E.g. As list of bills and a list of payments.  Finding exact payments, totalling payments and finally partial payments.

Date: 10th October 2017
Agenda

Topics include:

  • Talk: New “Expert Delphi” Book – Paweł Głowacki, Embarcadero (via Skype)
    In this session Paweł Głowacki from Embarcadero will be presenting his newest “Expert Delphi” book. We will see how to become a developer superhero and gain amazing productivity powers to build stunning mobile apps with Delphi FireMonkey framework. During the presentation Paweł will be showing live demos from his book and will be happy to take any questions!If you are into the latest Delphi technologies, this session is for You!
    More info about the book can be found at https://www.packtpub.com/application-development/expert-delphi.
  • Talk:GDPR (General Data Protection Regulation) Workshop – Peter Price, Information Security Consultant
    GDPR comes into force in May 2018 to unify and strengthen the data privacy laws across Europe. If you are handling personal data you will need to make sure you comply with the new requirements as the fines that can be levied have increased markedly and liability now extends to data processors as well as controllers.
    Peter will start the workshop with a review of the GDPR provisions followed by plenty of time for cases studies and Q&A to help you determine how you are affected.
  • Nugget: Converting Andrew Cutforths URI to Delphi (inter process comms etc)   – Martin Hamilton
    A DELPHI version of the URI driver
Time Description Speaker
12:00 Registration (with tea and coffee)  NOTE TIME CHANGE TO 12PM.
12:00 News/Questions Pete Sykes
12:30 Break for Lunch/Catch Up
13:15 GDPR (General Data Protection Regulation) Workshop Peter Price
14:45 Break
15:00 Converting Andrew Cutforths URI to Delphi (inter process comms etc) Martin Hamilton
15:30 New “Expert Delphi” Book  Paweł Głowacki
17:00  Finish

Date: 11th September 2017
Agenda

Topics include:

  • Talk: Dev express components – Peter Edwards
  • Talk: IDE tips and creative debugging techniques – Brian Long
  • Nugget:  Elastic Search, more on REST/JSON, and ‘HTML Editor Library’ – a cross-platform WYSIWYG editor for Delphi – Patrick Hort

Please see times below:

Time Description Speaker
11:30 Registration (with tea and coffee)
12:00 News/Questions Brian Long
12:30 Break for Lunch/Catch Up
13:15 Dev express components Peter Edwards
14:45 Break
15:00 IDE tips and creative debugging techniques Brian Long
16:30 Elastic Search, more on REST/JSON, and ‘HTML Editor Library’ – a cross-platform WYSIWYG editor for Delphi.  Patrick Hort
17:00  Finish

Date: 12th July 2017
Agenda

Topics include:

  • Talk: Functional Programming – A High-Level Overview – Will Watts
    After many years spent jogging down the runway flapping its arms, FP is finally emerging as a practical approach to developing commercial software. Will presents a whistle-stop tour of the history, the languages, the techniques, some code and a few jokes. He undertakes to use the dread phrase ‘paradigm shift’ no more than 23 times.
  • Nugget:  Accessing files over https: without the Indy SSL hassle – Neil Parrish
    The Delphi Indy component TIdHTTP has a handy Get method to retrieve files from the internet, but out of the box this won’t handle https, only http. Rather than distribute the SSL files required you can use TDownloadURL to get around the problem, as long as you workaround the issues that has.
  • Nugget: SPF records for email servers and whitelisting with Microsoft and Google – Mark Jacobs
    In this talk, Mark will show how to set up SPF and Google domain verification records for your email server. He will also show how to sign up for Microsoft’s JMRP and SNDS schemes, so that they “know” about you and your email intentions. He’ll show the kind of email you’ll receive when an email you have sent is junked by the recipient.
  • Nugget: FlexCel – Report Mode quick implementation – Martin Hamilton
    Martin will demonstrate how easy FlexCel is to install into an application using Report Mode.
    This is a follow-up nugget to the presentation by Neil Parrish in April.

Please see times below:

Time Description Speaker
11:30 Registration (with tea and coffee)
12:00 News/Questions Peter Sykes
12:30 Break for Lunch/Catch Up
13:15 Functional Programming – High Level Overview Will Watts
14:45 Break
15:00 Accessing files over https: without the Indy SSL hassle Neil Parrish
15:30  SPF records for email servers and whitelisting with MS and Google  Mark Jacobs
16:15  FlexCel – Report Mode quick implementation  Martin Hamilton
17:00  Finish

Date: 13th June 2017
Agenda

Topics include:

  • Talk: Case study – Application UI framework using .Net C#, WPF and MVVM – Andrew Cutforth
    Andrew will show a case study of his Windows CRM system that has a very powerful UI with tabbed docking forms etc. This is written in .Net C# and uses WPF for the display coupled to an MVVM framework with his own entity framework on the back end
  • Talk/Demo: Android App – David Mew
    Designing a UI for an Android App; using TStyleBook to “skin” an app, using TNetHTTPRequest/TNetHTTPClient to load resources, using threading and deploying to a phone
  • Nugget: DUnit – Dave Martel

Please see times below:

Time Description Speaker
12:00 News, Interactive discussion Jason Chapman
13:00 Break for Lunch/Catch Up
13:15 Application UI Framework Andrew Cutforth
14:45 Break
15:00 Android App David Mew
16:30 DUnit Dave Martel
17:00 Finish

Date: 15th May 2017
Agenda

Topics include:

  • Talk: Going back to Linux – Brian Long
    The latest release of Delphi (10.2) adds Linux Server as a target platform. It’s been a long time since Kylix, so we’ll have a recap and remind ourselves how to do a few simple tasks from the Linux command-line and see what Delphi can do in terms of generating applications on this new target platform.
  • Nugget: Fooling the “Man in the Middle” – Mark Jacobs
    When a user logs into a secure site with their correct credentials, the site will usually issue them a session ticket, and will usually do so using a cookie of some sort. I take a radically different approach to session tickets, and my approach has a valuable advantage over traditional techniques. In this talk, I will expound on my techniques, demonstrate how pretending to be somewhere else (using Opera’s free VPN) forces you to log in again, whereas on an Amazon login, it simply lets you continue with the session ticket currently issued, despite you having suddenly “teleported” to a different country!
  • Nugget: How to use the PDFTKBuilder utility to manipulate PDF files – Doug Woodrow
  • Nugget: Embedding a Firemonkey form within a VCL application – Patrick Hort
    I have recently been looking at doing some graphing and I don’t want to have to write it twice – once for VCL and once Firemonkey – and it seemed sensible to write it in Firemonkey because of the better graphics. Which then got me wondering about compiling the FM code into a VCL App. Which it turns out is possible, and I used the TFireMonkeyContainer component from Parnassus to achieve this.

Please see times below:

Time Description Speaker
12:00 News, Interactive discussion Brian Long
13:00 Break for Lunch/Catch Up
13:15 Going back to Linux Brian Long
14:45 Break
15:00 Fooling the “Man in the Middle” Mark Jacobs
15:45 How to use the PDFTKBuilder utility to manipulate PDF files Doug Woodrow
16:15 Embedding a Firemonkey form within a VCL application Patrick Hort
17:00 Finish

Date: 19th April 2017
Agenda

Topics include:

  • Talk: Visual Studio 2017 & C# 7.0 – A look at some of the new language and IDE features – Peter Sykes
    • Visual Studio 2017 and C# v7.0 went on general release on Tuesday 7th March. In this session Pete takes a tour through some of the new IDE and language features that the update offers.
  • Talk: Creating a Windows Service in Delphi and installing it – Patrick Hort
    • This will be a Delphi coding presentation showing how you go about creating, installing and managing a Windows Service. I will also demonstrate how to write messages to the Windows Registry, and how to create a DLL that can installed so that Windows Event View will display these messages properly. Depending on how much time is left, we can try to make the service actually do something!
  • Nugget: TMS FlexCel – Excel without Excel for Delphi & .Net – Neil Parrish
    • TMS describe FlexCel as a ‘Powerful, extensive & flexible component suite for native Excel report & file generation & manipulation’. It is available for Delphi and as fully managed Net library including mobile for both. The components work natively with the Excel file format so you don’t need Excel installed. This will be a quick look through FlexCel including how it has been used for a client, how you get started and some of the many features.

Please see times below(tbc):

Time Description Speaker
11:30 Registration (with tea and coffee)
12:00 News/Questions Peter Sykes
13:00 Break for Lunch/Catch Up
13:15 Visual Studio 2017 Peter Sykes
14:45 Break
15:00 FlexCel Neil Parrish
15:45 Creating a Windows Service in Delphi and installing it Patrick Hort
16:30 Tokyo – Group Discussion
17:00 Finish

Date: 14th March 2017
Agenda

Topics so far include:

  • Talk from Stephen Ball @ Embarcadero
  • Talks from Peter Edwards;
    • Express Spreadsheet & Importing data (Real World Examples) & Express Printing Component
      1. Introduce the Express Ribbon UI
      2. Introduce Skinning
    • PDF Reader Component & Express Printing Component
  • Nugget: Accessing files over https: without the Indy SSL hassle – Neil Parrish
    • The Delphi Indy component TIdHTTP has a handy Get method to retrieve files from the internet, but out of the box this won’t handle https, only http. Rather than distribute the SSL files required you can use TDownloadURL to get around the problem, as long as you workaround the issues that has.
  • Nugget: AJC Grep v2 – Andrew Cutforth
    • Andrew will show you his latest AJC Software product which is a powerful search, replace and data extraction program. The session will consist of a demo of what the software can do and then delving into some of the code to see how it was done.

Please see times below(tbc):

Time Description Speaker
11:30 Registration (with tea and coffee)
12:00 News/Questions Jason Chapman
13:00 Break for Lunch/Catch Up
13:15 Talk Stephen Ball
14:15 Express Spreadsheet & Importing data (Real World Examples) & Express Printing Component Peter Edwards
14:45 Break
15:00 AJC Grep v2 Andrew Cutforth
16:00 PDF Reader Component & Express Printing Component Peter Edwards
16:30 Accessing files over https: without the Indy SSL hassle Neil Parrish
17:00 Finish

 

Date: 20th February 2017

Agenda

Topics so far include:

  • TOGGL with some code – Jason Chapman
  • Dropbox as a Windows service – Martin Hamilton
  • Weak references in C# – Andrew Cutforth
    • Weak references in C# are pointers to objects that allow the objects to still be garbage collected and will tell you if they have been garbage collected. There are many uses for these and Andrew will show you some, including tagging objects, an application internal messaging system, object caching system etc. You will learn about WeakReference and ConditionalWeakTable.
  • AutoIt demo – Clive Henson
  • Office 365 – Eric Thorniley
    • Why we might want a shared mailbox.
    • Difference between a shared mailbox and a normal mailbox in O365.
    • Connecting to shared mailbox from Outlook:
      • Normally connects when you connect to personal mailbox. Sent mails go into personal mailbox sent items. You have to manually select the shared account to send from, even if you are looking in the shared inbox.
      • You can change the share so you have to make a manual connection – then it works more as you would expect. You have to set this up using powershell.
    • Why you might want to share a normal mailbox rather than use a shared mailbox.
    • Security gotcha with two factor login.

Please see times below(tbc):

Time Description Speaker
11:30 Registration (with tea and coffee)
12:00 News/Questions Brian Long
13:00 Dropbox as a Windows Service Martin Hamilton
13:30 Break for Lunch/Catch Up
13:45 Weak References in C# Andrew Cutforth
14:45 Break
15:00 AutoIt Demo Clive Henson
15:35 Office 365 – Shared Mailboxes Eric Thorniley
16:10 TOGGL with some code Jason Chapman
17:00 Finish

 

Date: 18th Jan 2017

Agenda

Topics so far include(tbc):

  • Case Study: Superbikes – Delphi does TV – Neil Parrish
    Take a trip to the bright lights of TV land looking at a Delphi application that sits between timing feeds and the TV graphics for the Britsish Superbikes coverage. Find out how it all works and hear about the challenges of recent changes including a new timing feed (JSON instead of plain text), switching over the graphics system interfaced with, graphics redesigns and new requirements.
  • Battle of the Remote Desktop
    A session looking at the different types of remote control software that is being used within the group, including pro/cons of each type covered
  • So far we have booked:
    • ConnectWise \ ScreenConnect – Dave Ball
    • WebEx – Clive Henson
    • VPN/RDP/VNC – Jason Chapman & Pete Brownlow
    • Splashtop – Martin Hamilton
    • TeamViewer – Adam Brett
    • Vidyo – Dave Martel
  • TOGGL with some code – Jason Chapman

Please see times below(tbc):

Time Description Speaker
11:30 Registration (with tea and coffee)
12:00 News/Questions Pete Sykes
13:00 Break for Lunch/Catch Up
13:15 Superbikes Neil Parrish
14:45 Break
15:00 Battle of Remote Desktop Various
16:30 TOGGL with some code or A Month of GIT Jason Chapman
17:00 Finish