StJohn Piano

Software Engineer

Newmarket, Suffolk, United Kingdom

Summary

Extensive experience in solving difficult software problems.

Primary skills: Python (9 years), Linux (5 years).

Languages:

English

Experience

Jan 2021 - Present
Solidi (solidi.co)
Head of Engineering

 

July 2019 - Jan 2021
Solidi (solidi.co)
Software Developer

Accomplishments:

  • Implemented support for new cryptocurrencies in the Solidi exchange application: Ethereum (ETH), Ripple (XRP). Exchange website: http://solidi.co
  • Designed and implemented secure cold storage solutions for ETH and XRP. Wrote recipes for their use.
  • Implemented a tradebot that bought and sold cryptocurrency on other exchanges.
  • Implemented SSL-secured RabbitMQ messaging to handle communications between various cryptocurrency clients and the main system.
  • Designed and implemented a new version of the Solidi trade engine. It uses Kafka to handle order / trade messaging.

Skills Developed:

  • Dealing with large existing codebases.
  • Git-fu.
  • Hooking systems together with message queues.
  • Dealing with the idiosyncrasies of different cryptocurrencies.
  • Writing clear recipes & explanations for the internal company wiki.
  • NodeJS, Go, Solidity, Windows 10.

 

28 June 2017 - present
Edgecase (edgecase.net)
Software Engineer

Accomplishments:

  • Designed and implemented a toolset that allows a user to securely store Bitcoin offline. See http://edgecase.net/pages/how_to_store_bitcoin
  • Designed and implemented Edgecase Datafeed, a secure publishing system. All published articles are digitally signed with GPG and timestamped in the Bitcoin blockchain. Edgecase Datafeed can be viewed at: http://edgecase.net
  • Designed and implemented a Bitcoin-based subscription system for Edgecase Datafeed.

Skills Developed:

  • Digital signature creation and verification (GPG).
  • Offline Bitcoin storage.
    • Secure private key creation using any source of entropy.
    • Offline address generation.
    • Offline transaction construction and signing.
  • Reading and processing binary data formats.
  • The structure and use of text encodings (ASCII, UTF-8).
  • The structure and use of package managers (RPM, Yum).
  • Writing clear, readable recipes for users.



24 October 2015 - present
Abacii Ltd (abaciivoice.com)
Project Manager

Accomplishments:

  • Managed 17 transcription projects, totalling 336738 transcriptions (transcribed speech data is used to test the accuracy of speech recognition systems).
  • Wrote transcription guide for new transcribers, which can be viewed at: http://arkaeologic.pythonanywhere.com/faq/default
  • Hired and trained transcribers.
  • Wrote software scripts to perform proofreading, spellchecking, and statistical selection for Quality Assurance (QA) testing on transcription projects. QA results across 283258 transcriptions (53480 were not checked): Average raw text accuracy score was 92.1%.
  • Wrote software scripts to process large Nuance Recogniser logs and extract data for transcription.

Skills Developed:

  • Working knowledge of: Perl, AppleScript.
  • Guidance of new transcribers who had to learn the non-intuitive skill of exact transcription of speech.
  • Design of Python scripts that could process large amounts of logged data and extract important information.



01 April 2015 - 23 October 2015
Abacii Ltd (abaciivoice.com)
Speech Science Intern

Accomplishments:

  • Implemented speech grammar systems in English and Spanish.
  • Ported VBA macros for project report generation from Excel 2007 (Windows XP) to Excel 2011 (Mac OS X 10.6.8).

Skills Developed:

  • How to design and tune speech recognition GrXML grammars.
  • How to install, configure, and use a Nuance Recogniser system in a CentOS VM.

 

15 April 2014 - 21 March 2015
Journeyman Project: Funded by Jali (jali.co.uk)
Research Engineer

Project Goal: Develop an automated 3D woodworking machine (combination CNC router, spindle moulder, and scanner) with tablet interface. Funding provided by Jali.

Result: Project canceled when true scale of required software research and development became apparent.

Accomplishments:

  • Plug&Play Raspberry Pi-based networked camera system. Takes and serves a 1296x972 pixel jpeg file over a local network in ~0.5 seconds. Uses picamera driver and cherrypy webserver. Three of these cameras were installed in the Jali automated furniture painting system.
  • Raspberry Pi-based dynamic control of a Baldor motion controller and Omron servomotors.

Skills Developed:

  • Construction of electrical and motor systems.
  • Embedded systems development (Raspberry Pi, Arduino).
  • Detailed knowledge of Linux system configuration, computer networking, web servers, and multi-process software.
  • Detailed knowledge of the Atmel ATmega328 chip (used in the Arduino) and the GRBL motion control system (used in many 3D printers).



Jan 2014 - 15 April 2014
Abacii Ltd (abaciivoice.com)
Transcription Manager

Accomplishments:

  • Wrote software scripts to extract and sort large amounts of transcription data.
  • Analysed speech recognition system outcomes.
  • Partitioned and managed work among the transcriber team.
  • Transcribed thousands of English & Spanish audio files.

Skills

Backend Development, Bitcoin, Blockchain, Git, Linux

Joined: May 2019