This page emphasizes examples of side projects (hobby projects). I've consistently done programming projects outside of school/work. This demonstrates a life-long interest in software engineering, computer science, graphics, games, and GPUs. I worked on these projects for fun, learning, and experience. It's given me additional exposure to programming that overlaps with and extends my paid work experience.

Full-time employment (and education)

Software development as a full-time software engineer
* Software Engineer at Samsung (GPU) (C++), 2017/04 to present
* Software Engineer at AMD (GPU) (C++), 2005/12 to 2017/04
* 1.5 years coop/internet AMD/ATI
* 4 year CS BS at RIT (also started CS MS and philosophy BA then accepted AMD job)
* for more, see resume (this page is focused on hobby projects for now)

Links to a few hobby projects (done part-time while employed full-time)

Pem Code Blog links (each link isa blog category of posts on that project) (2014 to present)
* 2016-2022: Unreal Engine projects (HeroQuest, Bomber Fight) blog - latest is mostly unreal but older has other stuff
* 2014-2015: C++ OpenGL SDL2 demos cross-platform link
* 2014: C++ Qt Creator Qt GUI Qt OpenGL for desktop, STL viewer link
* Pem Code Blog posts are about Dec 2013+ hobby projects (and some retroactive posts)

Pre-2014 hobby project links
* all dates: continuous hobby learning (reading, videos) focus on computer science, 3d graphics, game programming, GPUs
* 2010-2013: read Essenthal Math (link), skimmed OpenGL Red Book
* 2013: Sikuli simple Android game bots - link
* 2012: Diablo 3 bot farm (simple bot scripts) (used VMWare)
* 2011: C# AForge.NET image processing detect Arab printed characters and traits; machine learning (N-dimension traits match to reference/training); GUI to view/tweak results
* 2010: comic book archive (CBR/CBZ etc) (Java, then C# AForge.NET) (Windows, Linux, Mac) frame detection (image processing) to XML file (and GUI view/edit) (iOS viewer Objective-C, XCode)
* 2009: Torque 3D City Hero Defense Project game prototype - herocitydef.html
* 2008: watch/study intro to CG classes (eg Harvard extensions)
* 2006: YuGiOh game C# GUI - link
* 2006: Adobe Flex Experiment: ../game/blocks (basic experiment using adobe flash/flex, with javascript and HTML)
* TODO more items and links

College Game Projects: C++, DirectX 8, Visual Studio
* 2003: Mega Monkey Mayhem - M3.html
* 2003: The Land of Xundar - Xundar.html
* 2003: Super Isobomb (networking) - SuperIsoBomb.html
* 2003: Tilemap editor used by - Super IsoBomb, The Land of Xundar, Mega Monkey Mayhem: Tilemap.html
* 2002: isometric RPG
* 2001: Checkers Java local/networking - Checkers.jar plus images sub-folder

K-12 Projects (vague childhood memories):
* 1999-2000: C++ programming: first person 2D Wizardry 5 esque maze game, 2D tic tac toe with "AI", calendar program, grade tracking GUI, AP CS test, won team code competitions
* 1996-1999: map editing: Build game engine (read a book) (made great maps), Doom Engine (WAD files), Myth:TFL (height maps), RTS maps (SC, C&C), hex editing game files (Diablo, Myth)
* high school: computer LAN (DIY PC) (3dfx voodoo), enthused and curious about video game technology (early days of 3d games)
* curious about engine differences eg Wolfenstein, Doom, Build, Myth, side scrolling, 2D tiles, isometric, polygon-based (Quake, FF7)
* Grades 7 & 8 BASIC on Mac, MS-DOS batch scripts, HTML (early days of web)
* Even earlier: board game design such as HeroQuest maps and mods (inspired my later 2016-2017 project!)
* Even earlier: Logo turtle graphics with monochrome screen and class pencil-drawing robot