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.
I just started a new gig, working as a Senior Software Engineer at Auxon.
My last job had been taking up most of my life and my personal projects bore much of the brunt of
that, 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.
Previously, 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.