Experienced Application Developer
My name is David Pennington and I have over 10 years experience developing solutions for web, mobile, and desktop applications.
As a developer, I've written everything from user interfaces, to audio processing software, to server management tools and work queues. I specialize in performant web sites for the masses and solving unique problems for companies.
Stackoverflow lists me in the top 1% of all developers. I have written and released dozens of open source projects and libraries used by thousands of developers. I've given away millions of lines of code. People from around the world have contacted me with questions about code I've shared and solutions I've presented online.
I'm not your standard engineer. I create new systems and solutions. At least three times publically I've created new ways of doing things with open source projects. Once with my universal email-based login platform (which Mozilla expanded into BrowserID), another with the ground-breaking browser system "Jr", and the artificial intelligence video producer I created to edit my videos for me. My other inventions aren't public, or are owned by other companies, but there are more.
As a Christ follower, I have a heart for using technology to serve people. Online privacy and freedom, along with protection from data mining are important goals I'm committed to.
I'm looking for a team
If your company is doing anything exciting, you will probably have a variety of technologies. I'm as comfortable writing Go handlers as React components or spaCy filters. If you have a question about a technology stack for a certain use-case please reach out. I'm currently seeking full time work after my last company was adversely affected by COVID-19 lockdowns. I'm located in the Dallas, TX metroplex but open to relocation.
Recently I built:
MovieSlice Editor AI
I built a statistics-based editor to automatically edit videos for me giving a quick rough draft and saving hours of work.
Artificial intelligence helps companies work quicker.
Email Ad Server
A closed-source ad server and caching solution delivering millions of images a day to email audiences. Written in Go and interfacing with 3rd party ad networks for provided content from content bids.
Go Middleware Framework
A net/http compatible middleware for protecting, validating, and automatically hydrating handlers with user input from JSON or multipart form bodies, route parameters, and query string values. Mid uses runtime analysis to generate input validation for you.
A Search Engine
A genre-specific search covering a large collection of religious sites. Based on the original research papers published by Google, I implemented a concurrent crawler, parser, and storage solution in Go using PageRank.
GoT Template Library
Clever, minimal wrapper to improve Go `html/template` usage making template inheritance easy without relying on bulky 3rd party code or enterly new template libraries.
Public Speaking, Texting App
Allowing the audience to text questions directly to a public speaker without passing the microphone around. Built with Angular.js and Go.
Old Projects:
Static, Static Content Generator
Following the success of site generators like Jekyll, I built "jr" to showcase what is possible by off-loading processing to a client. "Jr" inspired discussion online at the time about what is possible when we think different with modern browser technology.
Swiftlogin Single-Sign On
SwiftLogin (Video) was the first email-provider SSO service. 4 months later Mozilla released a beta of
a "new" competing BrowserID service (later renamed "Persona"). Mozilla also failed to gain traction and eventually shutdown the service.
Micro MVC (PHP)
Over 10 years ago I wrote one of the most performant (as measured by techempowered) and feature complete frameworks for PHP. It's runtime speed was only matched by phalcon which was actually written in C. It included libraries for a number of functions including image processing and session management. In addition, there was a full ORM using static classes to avoid the overhead of most relational mappers at the time. This was when Zend was the major framework, Symphony up-and-comming, and Kohana, Fuel, and Laravel were just getting started taking market share (or dying). Meeting language authors and discussing designs was a major help in mastering the HTTP server lifecyle.
Technologies
- Backend: Go, PHP, Javascript, Python, Bash
- Frontend: Typescript / Javascript, CSS, HTML(v3-5), XML
- Databases: Redis, Maria/MySQL, LevelDB, Badger, Memcached
- Frontend Frameworks: React / React-native
- Backend Frameworks: Gongular(Go), Gorilla(Go), Echo(Go), Laravel(PHP), Express(Node.js), Flask(Python)
- Servers: Nginx (and Openresty), Apache, Caddy
- NLP (Python): spaCy, NLTK, and Gensim
- Regex/XPath: PCRE & XPath (1.0+)