Sunday, October 13, 2013

It's awkward first blog post introduction time!

Q: What is this blog about?
A:  Sharing OpenGL code that I've written or modified.

Q: What topics will be covered?
A: Any programming topic which captures my interest.  This does mean that from time to time I may veer off the blog's stated purpose but I'm most interested in discussing 3D graphics code in the context of writing real applications.

Q: What is my background?
A:  My formal education is as a mathematician.  In my professional life I'm a software engineer*.  I got my first taste of writing computer graphics code over 25 years ago experimenting with assembly code for CGA, EGA, VGA, and Hercules graphics cards.  From there I went on to working in C on an X terminal project.  After that I cofounded a graphics card company which made products for Sun workstations.  The whole world of computer graphics has gone 3D so in an effort to remain relevant I started learning OpenGL over 14 years ago.  After all this time I'm still disappointed that the project for which I learned OpenGL was cancelled but "c'est la vie/guerre".  For me, the good news is that working in 3D graphics "scratches some of my itches":
  • As a mathematician it's hard to share with friends and family how excited I am about various mathematical insights as I acquire them but when I run a graphics demo for people of the work I'm doing I can see the light in their eyes and it's really gratifying.
  • I get to
    • use my math knowledge†,
    • sharpen my object oriented programming skills in C++, and
    • draw pictures which appeals to the aesthete‡ in me.
* I always think of myself professionally as a computer programmer and feel like the job title "software engineer" is a bit pretentious.  Still, if one wants to be taken seriously professionally one does what one must!

 Or "maths" knowledge for my British readers. Forgive me please; I'm hopelessly American. ☺

‡ While doing my undergraduate work I earned a minor in music.  In my personal life I'm a fan of social dancing (for those who care international standard is my favorite style and I'm currently learning Argentine tango) and the art museums of Europe.

Q:  Will your blog be the graphics programming analog of "world peace" or the "unified field theory of relativity"?
A:  No, probably not but
  • I find that explaining what I've done gives me clarity and helps me form a consistent (programming) philosophical framework for what I've done and how the tasks should be done.  In this respect the blog will be a lab diary for my own benefit.
  • The things I've learned may be of use to others in their own development.  Hopefully, I'll provide a different perspective or way of explaining the concepts which will be beneficial even if what I have to say isn't ground breaking from a technology standpoint.
Q:  Will the blog be math intensive?
A:  I hope not.  Mostly, I expect it will be "theory of programming" intensive.  Still, I don't want to make promises I may not be able to keep.  In order to help clarify the way the code works I will occasionally explain what the various computations mean but I don't expect to spend any time on proofs.  I really expect to spend more time explaining why I wrote a particular piece of software to do a computation the way I did.  As issues come up I do expect to provide a bibliography for readers who want to dig deeper into the mathematical theory.

Q:  What platform(s) will the code run on?
A:  Primarily Mac OS X and/or iOS.  In some cases I plan to use GLUT or OpenGLUT for the code which runs on the Mac which, hopefully, will keep the code portable to other programming environments. Still, I won't guarantee all of the code will be portable to other platforms, as written.

Q:  Do I blather on this much in person, too?
A:  Sadly, yes.

Q: When will I actually post some code?
A:  Real Soon Now™!

The last little bit of housekeeping I'll offer is that comments and criticisms are welcome.  As I said earlier in this post using different words this blog is partly a learning experience for me and I'm looking forward to learning from readers' comments.

No comments:

Post a Comment