Patrick S. Barrett

My name is Patrick S. Barrett. I do mostly software stuff these days, if I have a choice it probably gets written in Rust or Lua.

At the moment I'm taking a sabbatical, either working on stuff for fun or remembering what relaxing is. I'm not currently looking for work unless you're interested in me starting in or after April of next year (2022).

Until recently, my day job had been taking up most of my life, though I have a few projects that have straddled the line between work and hobbies. The main one being cosock, which is a new coroutine executor written from scratch in pure lua that provides a full LuaSocket wrapped interface that lets you run code written on plain LuaSockets without modification, just pulling the code in with cosock.asyncify.

Aside from that I have a few projects that have largely languished lately, that I'm hoping to get back to. The one I think about most is a CoAP protocol implementation built on top of Tokio. Most of my projects lately have been written in Rust in which I've so far written a simple static site generator, along with a few other things.

Professionally, I was most recently a Staff Software Engineer at SmartThings on the Hub Edge Platform Team. I originated and was the primary developer for the base of SmartThings' new Edge Device Driver Platform, a system to run user-written code on the SmartThings hubs that our users already owned. I developed the majority of the "Runner", the rust process that runs within an OS sandbox, and the "Broker", which runs outside the sandbox providing permissioned access to to the various networks supported by the hub as well as other local resources either directly or via the legacy hub-core C application that interacts with the SmartThings Cloud and some local hardware such as ZigBee and Z-Wave radios.

I graduated from the University of Minnesota with a Bachelors of Electrical Engineering in 2013. From that, I still have have a personal interest in designing and building low-level electronics projects and learning more about real world wireless communication protocols, but I haven't done much noteworthy with those since leaving school unfortunately.

Email GitHub Thingiverse