Experienced and adaptable software developer in areas including user interface programming on Apple platforms, compilers, security & cryptography, Unix system programming, and more.
I love working at the intersection of technology and the arts.
I have successfully and productively worked from my home office for several years, with occasional travel. This success is in large part due to well-developed written communication skills. I am not opposed to in-office work, however.
For the the right opportunity, I would be willing to relocate.
Member of a team working on the ArmorLock SSD and security platform. Client applications for unlocking and managing the drive via custom USB HID device. Assist with board bringup and firmware development.
Write software for Apple platforms (mainly macOS, but some iOS too) using Swift. This includes internal tools as well as released apps.
These apps communicate with hardware devices using IOKit and USB or Bluetooth frameworks.
Reverse engineer and reimplement C++ virtual file system encryption library in Rust.
Some low-level programming in C, e.g., a custom USB HID device for the Nordic nrf52 series, and minor maintenance on a custom embedded JVM.
swift macos iokit ios swiftui usb hid rust
Anything whatever concerning Clozure Common Lisp; Common Lisp programming; macOS user interface programming.
Concur is a provider of integrated travel and expense solutions, delivered using the software-as-a-service model.
I was a member of a team developing new foundational services (e.g., identity management, authentication, and so forth) on which Concur's business applications are being built.
These services are web services with RESTful style interfaces. Technologies used include Clojure, various SQL and NoSQL databases, GitHub, Python (for API tests), and the usual panoply of other assorted supporting tech. Services typically ran on AWS-hosted Linux servers.
Additionally, I promoted the interactive and incremental style of development traditionally used by Lisp and Lisp family languages, Clojure being a Lisp descendant.
clojure git mysql
Clozure Associates is a Common Lisp consulting company, and also has supported the development of Clozure Common Lisp, an open-source Common Lisp implementation.
A large part of my work was to enhance and maintain Clozure CL on the various operating systems (macOS, Linux, FreeBSD, Solaris, Windows) and processor architectures (x86, ARM, PowerPC) that it runs on.
Clozure CL is mostly written in Common Lisp, but there is an important part (called the lisp kernel) that is written in C and a fair amount of processor-specific assembly language. The lisp kernel provides the run-time environment for running lisp code. It uses quite a lot of low-level functionality exposed by the operating system: address space management, signal/exception handling, thread management, and so forth.
I designed and implemented the 32-bit x86 port of the Clozure CL Lisp compiler and runtime, based on the existing x86-64 port.
Installed and managed Buildbot (a continuous integration system) for the Clozure CL project. Configured and customized it using Python.
Contributed to numerous client projects.
Configured and managed numerous project infrastructure services such as mail (including mailing lists), various web sites, Trac (for bug tracking), Subversion, and so forth, both for Clozure CL itself and for client projects. Clozure CL sources are now on GitHub, but the legacy Trac and Subversion repository are still online.
Performed release engineering for the (very) roughly bi-annual releases of Clozure CL.
Common Lisp C assembly OS X Mach Cocoa Linux FreeBSD Solaris Windows m4 make gdb Subversion git Trac postfix Mailman buildbot apache IRC
Member of the NASA Desktop Standards and Basic Interoperability Group, and the NASA Agency Security Configuration Standards Group.
Served as an expert in the areas of Unix, Mac OS X, TCP/IP networking, and security.
Contributed to security configuration standards for several operating systems and applications.
Responsible for overall management of pioneering northeast Ohio ISP. Hired and trained staff. Designed, built, and operated Cisco-based network spanning seven Ohio counties. Directed and worked with technical teams which built and maintained servers and networks supporting over 5000 dial-up users, hundreds of web sites, and dozens of dedicated access clients.
management wan cisco uucp ip ppp serial-port
This Old Lisp, keynote talk given at the 2018 European Lisp Symposium, Marbella, Spain (slides, transcript, slides, and video)
The Design and Use of Clozure CL's Objective-C Bridge (slides, video). Given at the 2013 European Common Lisp Meeting, Madrid.
Threads and GC Implementation in Clozure CL (one-pager, slides). Given at the 2009 International Lisp Conference, Cambridge, Mass.
Unlock and manage ArmorLock SSDs (iOS and macOS)
Manage PRO-DOCK 4 Thunderbolt docking station via a custom USB HID device.
Lead developer for the Cocoa-based user interface for Opusmodus, a music composition application for the Macintosh. Written using Clozure CL.
core-audio midi musicxml autolayout
A version of Clozure CL and its Cocoa-based IDE, packaged for the Mac App Store.
mac-app-store itunesconnect
A slideshow application, written to demonstrate that it is possible to develop a Mac OS X application using Clozure CL, and publish it on the Mac App Store. The source code for this application is available on GitHub.
Aircraft performance testing analysis and modeling. Modernization of classic Mac OS application. Uses Cocoa and Core Data. Written using Objective-C.
xcode Objective-C coredata lapack
Graduate studies in computer science.
B.A. in French, cum laude; graduate studies in computer science.
Competent speaker of the French language.
About 350 piloting hours, mostly in a 1963 Mooney.
In nearly every case, native applications best respect and express the spirit of a platform, and are most likely to produce beautiful software that people love to use.
When exploring new ideas, accelerate the benefit of hindsight by building prototypes and then quickly iterating.