Hi, I'm John Hatch and I love learning new technologies and developing applications. I especially like working on challenging new problems and with big goals.

I started on compilers backends developing the debug and object model support for the DEC's NT Alpha cross compiler and Hitachi's SH3 Windows CE compiler. I had to completely rewrite the object file generator for the SH3 compiler changing it from a simple C object to a full C++ object. That was a particularly fun since there was almost no documentation for the MS C++ object model. I succeed by reverse engineering the output from the x86 compiler and using it as a model for the SH3 compiler.

At DEC I ran the team's build, building the compiler, debugger, and Visual Studio for the Alpha platform. I later used that knowledge to develop the first versions of Visual Studio for Windows CE.

I was the lead developer and manager for first five years of the Visual Studio for Windows CE project at Bsquare. I lead the development of the cross platform debugger support and the platform modules for the SH3, MIPS, ARM, and PPC compilers and debuggers. I worked closely with Microsoft's Windows CE OS team constantly integrating their platform changes into the Visual Studio tool chain and runtime libraries.

I went on to design and the develop the first full shell replacement for Windows CE called Embedded Desktop. It featured full shell functionality and a scriptable user interface. It enabled customers to build custom shells for kiosks and commercial HMIs with interfaces tailored to their specifications.

I developed two more versions of custom UI shells called Interface Composer and iWin. Both of which were ported to Windows XP and were able to serve as full desktop shell replacement on XP.

At Microsoft I was the Kernel PM for Windows CE. My job was to push through a redesign of the CE kernel removing its process and memory limitations. I worked constantly to build support for the change. I meet with all the major stakeholders addressing their concerns, integrating their requests, and winning their support.

The position involved understanding all aspects of the operating system and all the major products built on top of it such as MS Auto and the Compact Framework. I also worked with all the major vendors involved such as ARM, Intel, MIPS, Renesas, TI, and Samsung.

Since then I've become very interested in visual applications, 3D graphics, and servers. I taught myself 3D graphics and math and built a 3D game demo using the Emergent Gamebryo game engine. I learned how to use the Blender 3D modeling package. I have also built and debugged Adobe's FlashLite 3.1 on Windows CE. I developed plugins for FlashLite connecting the Flash HMI to CAN signals on MS AutoPC for a major American Automaker's Sync product. And most recently debugged a Flash application's interactions with a web service running PHP and MySQL on the SUSE platform.

John