Languages - Tools - Areas of Expertise
- typescript (very good)
- python (very good)
- web crawling/scraping (very good)
- docker/podman (very good)
- chrome extension development (good)
- rhel linux administration (good)
- lua (good)
- sql queries (good)
- postgresql administration (good)
- go (okay)
- sql server administration (not clueless)
- C/C++ (not clueless)
- windows administration (not clueless)
- ARM embedded development (clueless but working on it)
Work History
WICX Radio
System Administrator and Web Tech Guy
(volunteer)
November 2024 - current
This is a volunteer position with 102.7 WICX Catholic radio in New Hampshire. It is
mostly Windows and powershell based administration done remotely.
Tech
- powershell
- windows
- linux
Tasks
- prevent crashes
- don't cause crashes
- system updates and maintenance
MX Technologies
Software Engineer
(remote)
March 2023 - June 2024
I wrote and maintained software that aggregates customer account data from different
sources into a single interface and api. The crawling software is written in typescript. I also worked on a
variety of smaller codebases, also in typescript, related to automated error reporting and observability.
Tech
- node/typescript
- puppeteer
- chrome development and network tools
- html/css
- playwright
- aws s3 and ec2
- kibana
- bash
Tasks
- improve and maintain automated error reporting and observability
- write and maintain crawlers in typescript
- triage problems with crawlers and bugs
- some weekends on call
Valhalla
Backend Software Engineer
(remote)
August 2022 - September 2022
This was a three month contract to deliver a data backend for an enterprise customer
facing ticket booking service with graphql endpoints. The server was written in Go using Gin and the gqlgen
framework. I also designed the data model and wrote the postgresql and graphql schema definition files.
Tech
- go
- graphql
- postgresql
- gqlgen
- gin
Tasks
- deliver working data backend server
- create data model in consultation with client
Dark Owl
Software Engineer
(hybrid)
October 2021 - July 2022
This was a position writing tor-network crawlers and data ingestion tools.
Tech
- tor
- docker and docker-compose
- bash
- python
- aws s3 and ec2
- html/css
- puppeteer
- chrome development and network tools
Tasks
- write crawlers for dark-net markets
- write data ingestion and analysis tools for analysts
Picnic
Software Engineer
(hybrid)
January 2020 - October 2021
This was my first job writing code. When I was hired Picnic had not yet been
acquired. It was acquired a year after I started working there. I started out writing search engine result
crawlers and then moved on to writing personal identifying information (PII) aggregator crawlers. The service
we offered was the monitoring and (if possible) automated removal of PII from the open internet on behalf of
our clients. Picnic was a smaller company without dedicated devops staff, so in addition to learning crawling
and the web stack I also learned devops using gcp, docker and terraform.
Tech
- python
- terraform
- postgresql
- docker and docker-compose
- gcp
- puppeteer
- chrome development and network tools
- html/css
Tasks
- write crawlers for PII aggregators and search engines
- deploy crawlers as services in gcp
- monitor deployed scrapes and fix bugs as they arise
Accomplishments
- qform - a dsl for creating search engine query strings
- userper - a search engine crawler
Center for Non-Proliferation Studies
Open Source Intelligence Analyst
(on-site)
July 2015 - July 2018
"Non-Proliferation" refers to stopping the spread of weapons of mass destruction,
generally through diplomatic means, i.e. via treaties and their enforcement. The role of Open Source
Intelligence (OSINT) in this process is to (a) provide intelligence, and (b) provide public corroboration of
the meeting or violation of treaty objectives. To that end I analysed publicly available geospatial imagery,
from Google Earth and from commercial satellite companies, in addition to a variety of government and archival
sources. My specialization eventually became the ballistic missile programs of North Korea and Egypt in
particular, in addition to the nuclear warhead testing program of North Korea. I also worked for six months
abroad, first at a research reactor in Prague, and then at the Comprehensive Test Ban Treaty Organization
(CTBTO), at the United Nations Headquarters in Vienna; the CTBTO operates the International Monitoring System
(IMS), which is a global network of sensors that was designed to be able to detect any explosion anywhere in
the world above a certain yield.
I worked at CNS for three years while I obtained my MA. I was an OSINT and
geospatial imagery analyst. I also created 2D and 3D content for media and public engagement.
Tech
- blender
- photoshop
- arcGIS
Tasks
- geospatial imagery analysis
- open source intelligence (OSINT) analysis
- write and edit reports for government stakeholders
- media engagement
- infographic creation
- 3D content creation
Education
Middlebury Institute of International Studies in Monterey
Master of Arts in Nonproliferation and Terrorism Studies
Monterey, CA
July 2015 - May 2018
GPA: 3.7
Virginia Commonwealth University
Bachelor of Arts in Political Science
Richmond, VA
August 2010 - May 2014
GPA: 3.8