Thomas Hurst
tom@hur.st
+44 7800 597 111
https://github.com/Freaky
@Freaky@hachyderm.io
Enthusiastic Ruby and Rust programmer, with experience in bespoke backend services and search engine development, and an interest in performance and efficiency.
Primary Skills
- Ruby
- Rust
- Python
- C
- Bourne Shell
- FreeBSD
- PostgreSQL
- HTML/CSS
Work History
- Stitch Sollihull — Consultant Web Developer
-
Co-wrote full e-commerce site using Ruby, Padrino and PostgreSQL.
Features worked on included a blog, photo gallery, event scheduling and booking system, product database, shopping basket with coupons system, PayPal integration, support ticket system, and search using PostreSQL trigram indexes.
- RFCPool — Co-founder
- Worked with three developers to build a Bitcoin mining pool, with a custom Ruby front-end based on the Padrino web framework and a PostgreSQL-based backend database.
- Virtual Programming Ltd — Consultant Backend Developer
- Designed and created bespoke Ruby-based backend service for robust concurrent file uploads to Microsoft Azure cloud storage platform, including text-based TCP server API with Ruby and PHP client libraries.
- Newzbin Ltd — Co-founder
-
On-call sysadmin for 60+ FreeBSD, Linux and Solaris servers
across 2 locations, including Apache, PHP, Exim, BIND, and a
3+ billion-row replicated MySQL cluster.
Created web-based Ruby payments system serving over 80,000 paying customers using DBI and cgi.rb.
Designed and implemented Ruby microservices for backend functions such as boolean search query parsing and transformation, persistent streaming search, text similarity search, and text-to-image services.
Helped design, write and maintain C backend services for trigram-based search acceleration, suffix-array index based search with multithreaded filtering, rolling bloom filters, and append-only replicated key/value database.
Co-wrote PHP frontends, with particular focus on interaction with backend services and maintaining HTML/CSS standards compliance.
Developed open internet specification (NZB) that revolutionised the Usenet binaries industry and is still in wide use today.
Personal Projects
Links and writeups can be found on my website and Github profile.
- FreshBSD
-
Search engine for BSD commit logs, used by many developers.
JRuby front and back end using the Roda web framework, Sequel ORM with PostgreSQL, Elasticsearch, and Redis caching. Substantial use of Concurrent Ruby and careful use of batched queries for page generation and indexing to minimise latency.
- perlpv
- High-performance Pipe Viewer alternative written in Perl. Earmarked for inclusion in popular Syncoid ZFS backup system.
- mac_portacl
- Robust shell script for FreeBSD's mac_portacl(4) security module. Earmarked for inclusion in base system.
- IMSErious
- Web service written in async Rust that drives my email system.
- ioztat
- Complex CLI Python application providing per-ZFS-dataset IO statistics while closely following ZFS conventions.
- monotime
- Ruby monotonic time gem offering a convenient, accurate interface for measuring durations. Includes extensive test suite, cross platform CI, and full API documentation.
- Tikibar
- Unreleased Ruby progress bar gem with support for multi-line output driven from multiple threads, and template based colourised rendering.
- reattempt
- Ruby gem for jittered exponential backoff for accessing backend services, using Enumerable to provide a convenient interface.
- Compactor
- Rust GUI application for Windows compression, using custom unsafe FFI interfaces, statistical compressibility checks, concurrent-safe append-only set membership database, and web-based front-end.
- LineReader
-
High performance buffered Rust line reader, roughly twice as fast
as stdlib line reading functions.
Repeated later in popular
bstr
crate with tens of millions of downloads.
- 123-spellcheck
- Rust-based form spellchecker using web-scraping and email parsing libraries.
- TitleFetcher
-
Ruby gem for fetching
<title>
metadata from websites using streaming HTML parser to minimise resource use.
Formal Education
- University of Teesside — BSc Computer Science
- Abandoned due to low overall course quality.
- Bede College — Computing A-level, Grade A
Personal Interests
In addition to being a computer nerd who writes software and self-hosts Internet services for fun, I also enjoy reading science fiction, cooking, playing weird PC games, and being mauled by my chihuahua.