Adam’s April 2018 Meeting Feedback

Meeting Agenda

  • Talk: Parsing text using ANTLR (and Hime and Coco/R) – David Capps
  • Nugget: Custom Browser Search Engine Shortcuts – Brian Long
  • Talk: Software Design Case Study – Andrew Cutforth
  • Nugget: Security for the Internet of Things Gets More Ridiculous Every Day – Mark Jacobs

Adam’s Feedback

David’s presentation was actually about 3 parsers: ANTLR, Hime and Coco/R. All are pretty old/mature technologies, all are in some level of active development. All can be used to accept input text and parse it to convert the text into logical structures a program can understand.

ANTLR – Verbose but powerful. Write an ANTLR unit and it can compile in a variety of languages (not Delphi though).
Hime: Less powerful but clear and concise. Multi-language compilation as for ANTLR, but fewer output languages.
Coco/R: A bit older and clunkier. The code it emits is language specific, but it can emit Delphi.

All share regular-expression-like syntax for setting up the elements to recognise and the rules that should be followed. David demonstrated writing a parser that could decode hand-written mathematical expressions such as
A = 10
5 * (10 + 2) / A
and return the answer “6”

Brian then demonstrated setting up “saved” search-short-cuts in Chrome and Firefox browsers so that users can type in a simple piece of text to access a specific set of web-sites.

Andrew is producing a new document management tool for an architectural and building firm allowing them to generate complex building specifications. Their existing system was built in VB and uses horribly buggy RichText formatting.

He has built the new system in Visual Studio using their MVVM and WPF technology. Andrew had to export more than 10gb of content from the clients system “clean” it and then pump it into a new MS-SQLServer database. The result is a 100mb database, so he has stripped off 99% of the old data!

Mark rounded off the afternoon with a more light-hearted-but-serious review of IoT hacking.

Leave a Reply

Your email address will not be published. Required fields are marked *

*