gdiObjects - Short Bio of gdiObjects & Steve Wehrmann

About gdiObjects

What is GDI?

GDI originates in the Windows Operating System and it is one of the 3 core subsystems (GDI, User & Kernel) all programmers utilize when creating Windows Applications (and services). It is responsible for drawing lines, brushes, pixels and pretty much everything you see on your computer screen (MSPaint is an example of product using GDI). Over the years Microsoft has improved GDI (as far as speed) and moved on to newer technologies (such as GDI+, Direct2d and what not).

..and Objects?

As a C++ programmer everything is basically an object to me. Icons, Images & Typefaces (TrueType & OpenType) are all objects (or things) that can be serialized (loaded & saved), have properties (attributes) that can be manipulated and ultimately, rendered on the screen.

So Why gdiObjects?

There are so many different product categories a programmer can choose to focus on. Some programmers create utilities for mp3 music or video (conversion/playback), while others prefer to work on system utilites (such as anti-virus, anti-malware, registry cleaners or system tweaks).

I've always enjoyed creating software, utilites & and even small single purpose tools that manipulate (scale, transform, convert and render) images. So with this in mind, I decided to combine GDI+Objects and name this venture gdiObjects.

and the puzzle piece in the logo...

I was searching for a logo that best represents graphics programming. I came across the puzzle piece in a huge icon collection and thought it was perfect. All I needed to do was apply a simple perspective warp transform (using GIMP ) to liven it up a bit.

"Like a puzzle, graphics programming can be challenging, but more often than not, in a good way."

About Steve Wehrmann

As with most software developers, I started coding at a young age.  My first computer was an Apple II+ (32K RAM + 16K Language Card == 48K RAM) and I learned to program using AppleSoft BASIC (yes, line numbers and all).  I quickly realized BASIC's inherent limitations and switched to Pascal.  Apple's Pascal implementation was actually a Pascal Operating System with some really cool graphics tech (way back then) called Turtle Graphics.

In 1991 I made the jump to the PC platform (Windows 3.1) and purchased a home spun box running a 386DX processor.  I wanted to stay with the Apple platform and buy a Mac but they were too expensive and very proprietary.  Moving to the Windows platform also meant transitioning to Borland's Turbo Pascal development environment and later to Turbo C++.

Bitten with software publishing bug, I formed my first corporation in 1992 and published a product called FontMaster.  As the name implies, it was a TrueType Font Manager for Windows.  A cool product (in my opinion) that allowed users to organize their fonts into groups and quickly switch between them.  It even hooked the OS in a way that allowed you to quickly change font groups from any application's system menu.

Back then it was really difficult to get any product into the brick and mortar stores (required lots of money to essentially buy shelf space) and the internet was in its infancy (although, I did have my first website in 1994 using a service called Navisoft which was later purchased by AOL).

In 1996 I joined Kelly Services as a Senior Analyst, Programmer Lead for their Training & Technology Group (a couple of local CBT companies Kelly had purchased and integrated into their portfolio).  Our mission was to create computer based training and evaluation software.  The software was used to help determine an individual's knowledge of the major application suites (such as Microsoft Office, Lotus SmartSuite and Corel's WordPerfect Office Suite) and distributed to all of their branches in the US & Europe.

After Eight months I was promoted to Manager of Programming Staff where I carefully switched everyone from using Borland's C++ Development Environment to Microsoft's Visual Studio.  I also implemented Hungarian Notation and other important coding practices.

In my 5 year stint with Kelly Services I created a new method of controlling office applications using COM instead of ghosting (concurrent training/evaluation not simulated)  and I named it NextGEN (obvious name...the Next Generation of CBT).  NextGEN helped us as a group create truly innovative Computer Based Training which was not only used internally but also sold to external sales customers (bundled with books published by Macmillan & Que) and provided Distance Learning for many Community Colleges. 

In 2001 I decided to leave my position as Director, Systems Training Technology Group and move on to greener pastures (at least that's what I hoped for).

In the last decade I've developed products for the Palm OS Platform, worked as a contract Java programmer, developed a cool website platform for the real estate market and even published a utility which made it easy for realtors to create 'Real Estate Flyers' (note: flyers is intentionally spelled incorrectly...that's how realtors spell it!)

With the unfortunate demise of the real estate market I found myself looking for something to do.  So I decided to just code tools & utilities that I needed or wanted.

-Steve Wehrmann