Fork me on GitHub

David Simmons

I'm a Colorado-based contract software engineer specializing in low-level system software, consumer electronics, and web backend code. I can develop software for you.

Consumer electronics

I have experience with low-level system programming for consumer electronics and other embedded systems using C, C++, and even hand-optimized assembly when needed. I can develop Linux device drivers for your custom hardware. I understand multimedia programming, including dealing with packetized video and audio streaming formats, video pixel format conversions, and the peculiarities of transmission protocols such as HDMI, S/PDIF, and IEC 61937.

Mobile applications

I develop apps for Android, and I'm beginning to venture into the world of iOS. As an example of my Android development skills, I wrote a simple app which turns your phone into a remote control for any computer. I've made this app available for free on the Android Market, and the open source code is available on my GitHub. The Market reviews have been quite positive.

Internet and web apps

I've been developing Internet applications and web apps for 18 years. I've implemented many custom protocols in C and C++, and dealt with lots of hairy TCP/IP issues such as NAT traversal. Most of my recent web experience has been with Java-based enterprise web applications using the usual tools (Spring, Hibernate, and such).

Local to Boulder/Denver

I can visit your site in the Boulder/Denver area for meetings and work. I'm also adept at working remotely from my site. (In fact, most of my clients are out-of-state!) I'm open to a moderate amount of out-of-state travel for face-to-face meetings and work sessions.

Recent highlights from my blog

Rapid DHCP: Or, how do Macs get on the network so fast?

One of life's minor annoyances is having to wait on my devices to connect to the network after I wake them from sleep. All too often, I'll open the lid on my EeePC netbook, enter a web address, and get the dreaded...

Finagling with Nagle: Nagle's algorithm and latency-sensitive applications

While developing an input-only VNC client for Android to act as a remote mouse and keyboard, I noticed that mouse pointer movements were particularly jerky when connecting to a computer running TightVNC. Connections to other...

Introducing Valence

In my spare cycles recently, I've been tinkering with developing Android code to control home theater components. As someone who has been passionately involved with the consumer electronics industry over the past ten years...

Implementing DES

DES, the Data Encryption Standard, was developed by IBM and the US government in the 1970's. Today, DES is considered to be weak and crackable, and a poor choice for anyone in the market for an encryption algorithm. However, many legacy protocols....

Stack Overflow

profile for David Simmons at Stack Overflow, Q&A for professional and enthusiast programmers

© 1993-2012 David Simmons