Skip to content
View tonytw1's full-sized avatar
  • United Kingdom

Organizations

@eelpie
Block or Report

Block or report tonytw1

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
tonytw1/README.md

Next available for work May 2024

Personal projects

Non dressage code which solves problems I'm interested in.

Squirrel Detector

Squirrel Detector demonstrates a willingness to tackle a new technology (machine learning) and use pragmatic tools (python, MQTT) to realise something end to end.

Wellynews

Wellynews aggregates community news from my home town.

Shows sensible evolution of a long-running project into separate services which can then develop into standalone applications in their own right.

Demonstrates a commitment to openness and Internet standards by supporting RSS views of all content.

OpenStreetMap Jigsaw

OpenStreetMap Jigsaw is a fairly unhinged exploration of the geometry of the OpenStreetMap dataset. Transforms the ~ 5 billion elements of an OSM extract into sorted graph of shapes which it exposes as a JSON API. This graph is used to infer readable place names solely from the arrangement of nested shapes. Trade-offs and optimizations to make this run to completion on an obtainable computer.

Language specific competence

Attempting to show competence and a vague understanding of how computers work.

Go

MQTT Scraper demonstrates a goroutine and the use of locks (which seem popular in the Go world) to control concurrent access to a shared resource. This application is routing metrics; probably a good example of the systems programming glue which Golang excels at.

Packaged as a container image to defer conversations about where it actually runs. Google Cloud Build for infrequent builds.

Go's most interesting feature is it's build in http server. This completely short circuits the need to agree on an application framework; just use net/http and get building.

Kotlin

NominatimAC is an example of a Spring Boot / Kotlin application which has been migrated inflight from Java. The proper documentation of optional values was an important improvement over Java.

This application has ~ 100 million records in its dataset demonstrating knowledge of working with large (won't fit in memory) data streams.

Whakaoko is another Kotlin / Spring Boot application with more moving parts and persistence. Long-lived run time which has todo real work against flaky third party URLs.

I used Kotlin for Advent of Code 2023 and it seemed to produce lower line counts than Java. The syntaxes for filtering, mapping and sorting were alot more memorable than their Java equivalents.

Java

Java is still an important language which is predominant in whiteboard interview settings.

General Java competence is demonstrated in these Advent of Code 2022 submissions.

This intuition on line 45 of Day 15 part 2 was considered fairly novel by my peers.

Includes some token stream usage.

Scala

Cards is an example of how I'd use Scala and Play Framework for a standalone service.

Scala Futures and WS Client are a good fit for the long-running async HTTP fetches this application makes.

I do not feel that Scala 3 is applicable until it's officially supported by Play Framework.

Commercial code

Unsquashed real world code. Dealing with uncertainty and been a good neighbour in a shared code base.

Other

Android

Been able to customise your device using the skills from your day job was a big draw. Been able to read and contribute to front end code bases is still a useful collaboration skill.

I developed 2 Android apps with large user bases; Guardian Lite and London Bus Times Preview. The latter received a highly commended award in Transport for London's 2013 accessible app competition.

Pinned

  1. squirrel-detector squirrel-detector Public

    Retraining a TensorFlow object detection model to look for squirrels.

    Python 9 2

  2. power-meter power-meter Public

    Retrofitting a domestic electricity meter to obtain local consumption data using an Arduino and Raspberry Pi

    C++

  3. nominatim-ac nominatim-ac Public

    Elasticsearch backed place name autocomplete based on Open Street Map Nominatim data

    Kotlin 28 2

  4. analogue-dashboard analogue-dashboard Public

    Warmer, smoother production metrics

    C++ 2

  5. home-assistant-carbon-intensity home-assistant-carbon-intensity Public

    Adds Home Assistant support for the National Grid's Carbon Intensity API in Great Britain.

    Python 3 2

  6. trello-changelog trello-changelog Public

    Summary changelog generated from Trello boards

    Scala