Open Source Contributions
- OIS - Cross Platform Mouse/Keyboard/Joystick Library
- OGRE - 3D Graphics Library
- Linux Kernel (Un-credited) - Various fixes for some embedded device driver stacks (TI USB, V4L)
Joined the Navy straight out of high school. Boot camp being, well, boot camp, had second thoughts going to MEPS for medical processing & screening, getting on the plane to Great Lakes, IL, as well as getting on the shuttle from Chicago O'Hare to boot camp. But, I'm not one to give up when the going gets toughed - so trudged through it. After getting through that, aced my secondary school (Avionics), being top in class. I had realized from boot camp that school and classes are pretty darn easy if you pay attention and take notes - and if you doze off - just picture a drill seargent screaming at you. Because of doing so well there, attained early advancement through the ranks. I was constantly put in more and more challenging leadership positions - as a typical introvert software persona, definitely way out of my comfort zone. But, I find it hard to back down from a challenge. Which would explain why all my evaluations (since leaving high school) have been outstanding.
Sony Computer Entertainment of America (SCEA)
I loved games growing up - I loved software as well. Getting a job out of the Navy working for Sony testing their PS1/2 first party titles sounded like a good opportunity. Though, SCEA had very little opportunity to advance outside of the QA test department. So, I quickly moved on to working more on college coursework and spending time on my own projects.
Spent the years working on college classes also spending many evenings / weekends working on creating my own game... though, unable to settling on the exact game design, and focusing more on the tech stack led me to become a contributor to the OGRE graphics engine. At the time, there were pretty much no quality rendering engines out there. SDL existed, and could get things on screen, but was not very advanced or fully featured for 3D. Worked with community members to support them on Windows & Linux compilation errors, as well as other problems. Ended up creating an input system (OIS) to couple with OGRE that supported Joysticks. Something I would need in that ever elusive game I was working on. Definitely needed video for this game, so jumped into Theora (only free/probably patent unencumbered lib out there)... but, found the performance to be less than ideal. So, jumped into writing an ffmpeg plugin to OGRE. With game development, there is always another challenge to solve, I should have spent more time on the actual game play - but alas, I gained massive experience in OSS and tools out there. Nowadays, would probably jump into Unity and focus more on the game, but that simply wasn't an option when I started.
SeeScan / SeekTech
Started off as a Windows Winforms/WPF software engineer at SeekTech. Though, once the Director of Software noticed I was also quite fluent in C/C++/GNU/Linux, I was brought on to the hardware bring up team. First task, something I had never done, bring up an in-house prototype board based off the TI DM355 ref/dev board - from bootloader to a booting Linux image, to capturing video... something I've never even considered doing previously - Challenge accepted! Not soon after, challenge completed 😊
SeekTech (later re-branded SeeScan), is a super innovative company. The owner is always interested in pursuing new research that has the potential to raise the bar of their products and their industry. It was definitely a good place to pick up some new skills and solve some exciting challenges.
Spent quite some spare hours over the years finding the most efficient ways, with the least amount of risk, to update a large legacy projects (25 yr old, hybrid CLI/MFC with Winform apps) to a 100% Winform app. Personally, I'm very comfortable with C++ and MFC.... However, the interaction with native MFC and hosted Winform controls is a very horrible thing. Fighting UI hangs because you right click on a DataGrid from a native textbox, or vice a versa, to fighting other hangs/locks/focus issues was truly a nightmare.
And incorporating a modern Winform UI framework into the app brought its own set of challenges. Anyway, maybe I'll write an article on techniques used to bring this application from a mix of Native C++/OCX/COM/MFC/Winforms to a 100% Winforms .net app with no native dependencies.
Also keeping up to date with newer Dot Net core, containers, and other very cool things of the last several years.