Patrick Barrett
Patrick Sean Barrett
patrick@psbarrett.com
EDUCATION
Bachelors of Electrical Engineering
University of Minnesota, Minneapolis, MN
COMPUTER SKILLS
Operating Systems: Linux, macOS, Windows
Languages: Rust, C, Lua, Javascript, Python (Proficient); Erlang, OpenSCAD,
Vala, HTML, CSS, Ruby, CUDA, Go, PHP, Latex(Intermediate/Stale)
WORK EXPERIENCE
Software Engineer
SmartThings -- Hub LAN Team | May 2017 - Current
- Contributed to the async lan interface re-write including:
- TLS client & server support
- Wake on Lan
- Some portions TCP & UDP handling
- Moved functionality from cloud to hub to decrease cloud load, including:
- Tracking lan device IP changes.
- Implemented various new features as needed using Rust in a mostly C
codebase.
Software Engineer
Exosite | Sept 2016 - Feb 2017
- Designed and developed new embedded software library for Exosite's upcoming
'Advanced Device Connectivity' initiative.
- Library was designed for robust device to cloud security using better
than industry standard encryption & mutual authentication protocols while
maintaining a very high level of developer ergonomics and ease of use.
- Assisted with the design of the 'Advanced Device Connectivity' cloud systems.
Technical Marketing Engineer
Exosite | Dec 2015 - Sept 2016
- Reviewed most of Exosite's marketing materials for technical accuracy.
- Attended industry tradeshows, fielding all questions about Exosite's
technical products and helped potential customers understand if and how
Exosite's products could help them build their IoT products.
- Remained as tier 3 customer support representative.
- Handled most tickets that were suspected to be legitimate problems found
in Exosite's systems.
- Handled all questions about Exosite's CoAP API.
Applications Engineer
Exosite | May 2013 - Dec 2015
- Was the main technical customer support representative.
- Wrote, developed, and maintained Exosite's documentation and documentation
website including a custom written static site generator.
- Helped create and run several training seminars designed for Exosite's
partners.
- Helped in development and testing of the introduction of Exosite's CoAP API.
Associate Systems Engineer
Exosite | May 2012 - May 2013
- Worked as part of a team to develop various embedded software projects,
switching projects as business needs changed.
- Ported eLua to a new embedded platform, personally wrote modules to
support modem AT command interface with modules to communicate using
UDP, TCP, HTTP, and an abstracted interface to interact with our
platform web API.
- Sole developer and maintainer of Exosite’s official Arduino Library.
- Investigated various open hardware platforms and wrote example code to
Exosite-enable the devices.
- Assembled prototypes to demonstrate potential customer applications.
- Various small projects including Javascript Widgets, Small PCB Population.
Recent Personal Projects
Stockfaces
Stock faces is a simple webapp that offers simple avatars of human faces for
free, under a CC0 license. Faces were found using machine learning on a set
of CC0 stock photos from Unsplash with face bounding
boxes saved to an SQLite DB. A Rust web server serves redirects (as requested
by unsplash) to the cropped images. Then an Elm frontend webapp serves a simple
app to get image links.
Stockfaces
Tokio-CoAP
tokio-coap is a low-level CoAP library written in
Rust for Tokio. Because it is
built on tokio it uses fully async interactions. It is built to be as simple to
use as possible.
tokio-coap is a work in progress, it is currently written using tokio-core
directly, but will hopefully soon transition to tokio-proto or higher as the
ecosystem matures.
Source
SEE MY WORK
-
A Little More About Me
-
Source Code