Services
I am currently available for short-term contract work.
I am passionate about computer architecture and the software development process.
You can also view my profile and my resume.
Over the past decade, I have concentrated on the software build and release process and toolchain development, as well as embedded Linux. On top of that solid experience base, I have been working hard to expand my knowledge in complementary areas that I find to be particularly exciting right now:
- Server-side web application development. For the past couple of years, I have been a full-time Ruby developer. I am familiar with a number of web frameworks, including Rails. I have been developing simple websites for myself and others since 1995, and I am quite knowledgeable about the core technologies of HTML, CSS and JavaScript. I have been doing client/server SQL development since 1991. I have been doing Java development on-and-off since 1995 — including a period of time where I worked at an embedded Java-based startup in California. I am still involved in the Java Open Source / Free Software community, with the hosting of projects such as Kaffe and GNU Classpath. Additionally, over the years, I also have done various small projects in Python, Perl and PHP. With my very broad software background, I am not your typical web developer – I can bootstrap your entire web project, or easily jump in to fill in some holes on your existing web team.
- Client-side web application development. With the rise of a new generation of web browsers that support web standards, it is now possible to use “Open Web” and “Rich Internet Application” technologies to build desktop applications that are more portable and richer than what was possible with previous technologies. Google Gears and HTML 5’s offline support are “game changing” technologies that require software developers to rethink the way they deploy software. Additionally, the newest generation of smartphones (represented by the iPhone) now contain web browser technology that is on a par with what is available on the desktop. I have made a significant investment in tapping into the “bleeding edge” of client-side web development. I can help you get your product or service onto more desktops or devices with the lowest possible setup and usability barriers. Lower barriers mean higher adoption rates, and ultimately more profit.
- “Cloud Computing” and RESTful services. Technology offerings such as Amazon’s EC2 and Google App Engine are changing the economics of how services are deployed. Techniques such as REST and OAuth, coupled with “the cloud”, make it possible to build profitable, internet-scale systems with very few lines of code. Personally, I am super excited about the possibilities, and the technology that is dominating the field also happens to be the technology I have been working with for many years. I have extensive experience in system administration and virtualization. I have been running internet servers for myself and others since 1995, including providing virtual machines for a number of projects since 2004. I have an extremely deep operational knowledge of Linux, Unix, Xen and VMware. I have written software at all levels of the stack, from bootloaders, kernel drivers, to porting Linux distributions, software packaging, to client/server, desktop and web applications. Coupling this deep experience with some of the latest advancements in computer science for managing complexity is my current passion. The technologies I am currently investigating and integrating hold great promise to dramatically reduce the cost of deploying these complex systems. I can help you get your bearings in the space, and I have some unique capabilities to assist you when you need to methodically evaluate the various technologies and product offerings to see what best fits with your model.