Home About Meetings FOSS

June 12 2018 Befunge, Python, Code Swarm, Uptime Robot and vulnerabilities Meet

Posted on June 16, 2018
( 3 minute read )

Darren shared his experiences at the June Leeds Code Dojo meeting when the programming challenge was to write a parser for Befunge whose code is written on a two dimensional grid and uses Reverse Polish Notation. Befunge was originally written to be as hard to compile as possible though compilers do exist for it. He showed the parser he had written in D.

You can only input numerals from 0–9 and so higher values need to be calculated from these values.

Bernard commented that Python Shlex is a parser for languages that use the shell.

Mike asked if anyone could recommend stock trading software. A quick Google search suggested that JStock might be his best option but there are others.

Bernard mentioned Python Anywhere which allows you to code in Python anywhere and the Python Code Swarm which provides a visualisation of commits to Python over the first fourteen years of its existence. There are others, for example, of Eclipse.

David S introduced us to Uptime Robot which pings servers at predefined intervals and tells you if things are up or down — essential for keeping track of when Virgin Media is down at BCB.

He went on to share a couple of projects. He has written a Python program to track the work of Slackbuilds contributors and is thinking about one to track vulnerabilities. He needs a way of collating who has been active on Slackbuilds and when and what they have done. By comparing their Git history with data from Repology, he can find out what percentage of packages are up-to-date and what percentage are the newest packages.

Tracking vulnerabilities in packages is more difficult as there is no centralised vulnerabilities list for Linux. FreeBSD uses VuXML which hasn’t been updated since 2005; the National Vulnerability Database uses cve-check-tool which has no way of downloading just updates and so you end up downloading everything each time; pkgsrc for NetBSD provides everything you need in a CSV file except that the first field combines the name of the software with its version in a way which makes it extremely difficult to parse by version.

Finally, David reported that there is a bug in Ubuntu 18.4 which makes it impossible to install on some devices, including ones with bog standard Intel graphics, because there is no way to open a virtual console to address the problem when it occurs.