Client and Server-side Web Applications
Atlassian Confluence and Jira Cloud and Server App Development
Azure Kubernetes and Devops Application Development and Deployment
Pulumi Azure Infrastructure-as-Code
OpenAI and LangChain Application Development
iOS App Development
2011 - Present
SmartDraw Software - San Diego, CA
Software Architect Emeritus
I am a senior developer at SmartDraw for "SmartDraw Cloud", the HTML-5 based web version of the company's award-winning Windows structured diagramming product.
I was also the lead developer of the initial version of VisualScript, a scripting environment that provides data-driven generation of SmartDraw diagrams from data sources like Jira or ServiceNow.
After our initial release of SmartDraw Cloud in March 2016, I have been the lead developer on many plugins for Atlassian Jira and Confluence, both Cloud and Server, to allow embedding SmartDraw diagrams in Jira issues, dashboards, and Confluence pages. I also was the lead developer on Atlassian Cloud and Server add-ins for VisualScript. For the Atlassian server versions, I developed both the client and server side components.
Additionally, I developed plugins for editing VisualScript script collections directly from Confluence and Jira instances using VS Code.
Since February 2022, I've been working on an effort to move our legacy Windows hosting environment to .NET 6 containers running on a cloud-hosted Kubernetes cluster using Pulumi-based infrastructure-as-code built and deployed using Azure DevOps.
Before the development of SmartDraw Cloud and VisualScript, I was the sole iOS developer in the company, developed an iOS native client for "SmartShare", the company's first cloud-based SmartDraw diagram sharing application.
1993 - 2011
Conexant Semiconductor - San Diego, CA
From 2005-2009 I worked as a Principal Software Engineer on the hardware architecture, device drivers, and middleware required to create the very first PCI and PCI Express-based analog and digital TV broadcast receivers for Windows Media Center.
As a Distinguished Software Engineer in the Architecture group, my role included understanding customer feature-set requirements, working with Marketing and VLSI Design on new device specifications, validating the assumptions behind the design requirements, defining and when required coding the drivers, middleware, and applications software required to deliver complete customer solutions in both PCTV as well as embedded systems.
Conexant began work on embedded SOC imaging products in 2009. I was responsible for the development of Bluetooth speakerphone application and related software stacks for a hybrid digital picture-frame/speakerphone based on an ARM926 based SOC. Bluetooth portion of the design was based on the CSR RoadTunes chipset and included dealing with all call handling, use of PBAP profile for phonebook exchange and A2DP for wireless speaker use.
This was followed up with development of the DirectFB graphics acceleration drivers and Qt-based demonstration applications for a second generation ARM-based tablet SOC. The DirectFB driver development was particularly challenging as it all was done before first silicon and required profiling and simulating the whole chain of interaction between Qt, DirectFB, and the fbdev driver. Conexant had no experience in this area previously.
I was also responsible for porting and enhancing a suite of Qt-based demonstration applications for customer demonstrations and vertical market applications.
Since 2005, I was Conexant's primary software representative for video products at Microsoft meetings, WinHEC, Intel Developer Forum, and Intel Roadmap Update events.
During my tenure, I made many trips to Japan for both direct on-site debug and support of several PC OEMs.
1989 - 1993
Brooktree - San Diego, CA
Principal Software Engineer
Megahaus was consulting with Brooktree developing a set of drivers and applications to support Brooktree Group 3/4 fax compression and scaling chipset. When Megahaus went out of business, Brooktree hired the group that was working on the software and added us to their Subsystems Group.
Brooktree developed a graphics controller chipset called "BtV" that had advanced video display scaling and overlay features as well as 2D and 3D graphics acceleration features. VLSI development and drivers were done in our Austin, TX design center, Technical Marketing and applications software was in San Diego. I was responsible for development of demonstrations of the new BtV technology for Comdex and other shows.
Brooktree was sold to Rockwell Semiconductors in 1993 and rebranded as Conexant Semiconductor.
1985 - 1989
Megahaus - San Diego, CA
Senior Software Engineer
Megahaus was one of the original Macintosh development houses.
Developed Macintosh desk accessories and Visio-like structured graphics applications.
Megahaus eventually decided to expand beyond Macintosh but needed its own platform-independent GUI toolkit. I was responsible for creating a clone of Apple's Quickdraw graphics environment that ran on an 80286 PC, as well as the structured object-oriented graphics toolkit (this was before C++) that was the basis for the company's page layout software products.
2011 - Present
AppCordions.com - El Cajon, CA
Owner, Founder, and Sole Developer
Starting in late 2009, in my spare time as a hobby, I began development of iPhone and iPad apps emulating the various instruments that I play and teach. These apps, available on the iTunes App Store, now number close to 70 and include many variants of Irish, Scottish, and Swedish bagpipes, Anglo and English concertinas, and Button and Piano Accordions of all sorts. Every app has both a product and support website as well as one or more demonstration videos.
In early 2011, Hohner, Inc. agreed to provide all graphics for my two and three row button accordion apps, branded as "The Hohner SqueezeBox". They have proven to be extremely popular with Tex-Mex and Vallenato button accordion enthusiasts as demonstrated by the many videos being posted by both bands and individual musicians on YouTube.
My goal with these apps is to provide a true instrument on the device that is played as closely as possible to the real instrument, so that the iPhone or iPad can be used both as a practice and teaching device for the real instrument. Since I play all the instruments for which I build the apps, I do my best to make sure that the app has integrity with respect to the real instrument, i.e. the fingerings are the same and the skills learned on the app cross over to the real instrument.
Additionally, each class of instrument has a MIDI controller version that can be used to control hardware or software synthesizers.
For my complete app catalog, please visit: http://appcordions.com
1983 - San Diego State University
B.S. Mathematics with emphasis in Computer Science
Universal systems and methods for determining an incoming carrier frequency and decoding an incoming signal
Patent issued: Jul 3, 2012
Patent issuer and number: US 8,213,809
Patent description: A consumer infrared receiver (CIR) circuit is disclosed which can both decompose a received CIR signal into run-length representation and detect the carrier frequency.
Comb filter that utilizes host memory
Patent issued: Dec 6, 2011
Patent issuer and number: US 8,072,547
Patent description: A 3D comb filter system that utilizes host memory via a high speed bus rather than on-chip
System of and method for gamma correction of real-time video
Patent issued: Apr 27, 2004
Patent issuer and number: US 6,727,959
Patent description: A system and method for performing real-time gamma correction of video in which a pixel having multiple components, e.g., RGB components, can be gamma corrected through a single access to a lookup table.
System of and method for secure firmware update and loading of cable modem
Patent issued: Apr 21, 2004
Patent issuer and number: EU EP1250811B1
Licenses and Certifications
Microsoft Certified: AZ-900 Azure Fundamentals
Private Pilot's Certificate - Single Engine Land