I guess you could say I’ve been working towards a career at Pointwise, Inc. since 1978. That’s when, growing up in the outskirts of Winston-Salem, North Carolina, I learned to program using my first computer, a TRS-80 Model 1 with an astonishing 4 KB of memory. Yes, four kilobytes of memory. I still remember the excitement of upgrading it to 16 KB the following year.
My love for computers was eclipsed by my fascination with space exploration, though, so I trekked down to Atlanta to pursue a Bachelor of Aerospace Engineering degree at Georgia Tech a few years later. It didn’t take long for the practicality of a career in the slowly dwindling space program to become readily apparent, however. Fortunately, the warm comfort of a glowing cathode ray tube was still there to console me, so I merged the two interests by obtaining a master’s degree with a focus on CFD, also from Georgia Tech.
Upon graduating, I was hired by the CFD group at General Dynamics, Fort Worth Division. During the interview process, I remember being impressed with the people and the work there. Confidentially, though, I think the thing that really sold me was seeing the group playing “flight” on the Silicon Graphics, Inc. (SGI) workstations over lunch time. That was my first time seeing “real-time” 3D graphics, and I was completely awestruck by it.
At GD/FW, I joined John Steinbrenner and John Chawner in developing the original Gridgen code. Rather, I should say the original Gridgen codes, since it was comprised of 5 separate programs at the time: Gridblock, Gridbound, Gridgen2D, Gridgen3D, and Gridvue3D. I was responsible for coding up the general architecture and graphics of the programs, while John and John did the heavier grid algorithm coding. It was at this time that I came up with the term “connector”, for better or for worse. Apparently, a fair number of people fall into the “worse” camp. Had I known that it would persist 30 years later, I might have given it a little more thought.
After the initial implementation of the Gridgen code base, I gave into the siren call of 3D graphics and took a job at SGI. I worked as a Systems Engineer providing pre-sales technical support for a few years (first in Dallas, then later in Atlanta) before finally joining the Inventor team as a developer. There I had a very small role in helping to shape and implement VRML (Virtual Reality Markup Language), may it rest in peace. I also authored a number of games for the SGI platform that some SGI users might be familiar with: bz, vroom, oort, and pointblank.
In the meantime, John Chawner and John Steinbrenner had obtained the rights to the Gridgen code and formed Pointwise, Inc. In 1999, as SGI was disintegrating, John and John graciously took me back into the fold. After a few years of coming back up to speed with the Gridgen code, I realized that the original Gridgen architecture was straining to keep up with the ever growing list of features. That triggered a multi-year effort to rewrite Gridgen as the Pointwise code you hopefully know and love today. My role in that process has been to focus primarily on the general architecture, the scripting interface, and, my favorite part, the 3D graphics.
- Location: Suwanee, GA
- Current position: Staff Specialist
- Current computer: Dell T3500 Workstation running Windows 7: Intel Xeon W3690 @ 3.47 GHz, 24 GB RAM, 500 GB hard drive + 256 GB SSD, nVidia Quadro 5000, ASUS PB278Q 27” (2560×1440), ASUS VE248 24” (1920×1080), Deck Legend keyboard (Cherry MX Clear); Apple MacBook Pro Retina 15” (2880×1800) Mid-2015, Intel i7 @ 2.5 GHz, 16 GB RAM, 500 GB SSD, Intel Iris Pro + AMD Radeon R9 M370X.
- One word that best describes how you work: Engrossed
What software or tools do you use every day?
My primary development is performed on Windows, so Microsoft’s Visual Studio 2012 gets the bulk of my keystrokes. Test scripts in Glyph and development in Linux and OS X environments are all done in vim. Working from home, I use Pidgin to stay in touch with my co-workers. I use p4v to coordinate software changes with the rest of the development group. When I need to access the computers back in the Fort Worth office, I use TightVNC. Finally, Pandora keeps a steady stream of jazz funk and contemporary jazz going in the background.
What does your workspace look like?
I have the good fortune of being able to work from home. My commute consists of walking down the stairs, with our cat posing the only traffic concern. Yes, I do get dressed for work every day, albeit with a casual dress code. My workspace is dim, as evidenced by the above picture (and that’s with the overhead light on, which is rarely the case). As such, I’m a big fan of backlit keyboards. My other favorite part of my office is my Steelcase Leap chair. Considering how much time I’ve spent in it over the years, it has definitely been a worthwhile investment. Like my desk, the rest of the office is pretty much chaos, but I do mostly know exactly where everything is.
What are you currently working on?
I’m currently working on new features that aren’t ready to be announced at this point, unfortunately. I can say that it is in support of the U.S. Air Force contract that Pointwise was awarded last year. The new functionality lays down the foundation for dealing with complex configurations that are not currently easily handled today, so I’m excited to see what our users will be able to do with it once it is released.
What would you say is your meshing specialty?
Since I do not spend much time actually generating meshes other than when testing or debugging an issue, I cannot really claim a specialty. The phase “Jack of all trades, master of none” really applies to me. If I was hard pressed to name one, though, I would go with automation. The same spatial abilities that help me with 3D graphics are useful when trying to encapsulate grid geometries in script commands.
Any tips for our users?
Embrace scripting. I see a lot of requests for new features that can be solved with a relatively simple script. While I recognize that a script is not quite as convenient as having an integral feature, the Glyph language can be used to add tailored functionality and to speed up repetitive tasks. The “tailored functionality” aspect of this cannot be oversold. When a new feature is requested, the actual implementation may be different is some ways from the original request (due to a large number of factors). With a script, you can control exactly how you want the operation to behave based on your unique needs.
What project are you most proud of and why?
First, I’m extremely proud of how Pointwise has turned out. It was a big undertaking to rewrite the Gridgen code from scratch, but I couldn’t be more pleased with the product so far. I believe it has put us in a position to add new features much more quickly and easily than we could in the past.
For something more specific, I’m proud of how the Undo feature was implemented. One of the common approaches to add undo capabilities is to write a reverse operation for every operation that is created. For something like grid generation where you have complex non-linear operations involved, that just is not practical. Instead, we were able to tie into the main mechanism used internally to propagate changes between entities. Since this communication has to happen regardless of undo, we get undo capability for minimal effort. This speeds up the development process in adding new operations since we do not have to take time to develop a matching reverse operation.
What CFD solver and postprocessor do you use most often?
To be honest, I never run solvers or postprocessors. Since my focus is on the general architecture of the code, I leave the “science” side of the code to my much more capable colleagues.
Are you reading any interesting technical papers we should know about?
I’m not reading anything CFD- or coding-related at the moment. I’m currently reading “Quantum Enigma: Physics Encounters Consciousness” by Bruce Rosenblum and Fred Kuttner. It’s an interesting and approachable discussion of the relationship between consciousness and quantum physics. It is actually pretty unsettling on several levels. You should probably just forget that I said anything about it.
Do you plan on attending any conferences or workshops this year?
I currently have no plans for any technical conferences this year. I admit I am pretty much a hermit when it comes to work which is why telecommuting is such a good fit for me. I like to focus on the solution with as little distraction as possible. Invariably, when I go to conferences, I enjoy the first day and then spend the rest of the time wanting to get back to work on something I thought of on that first day. I do have plans to attend a few Atlanta-based conventions for board gaming, which ties into the next question.
What do you do when you’re not generating meshes?
When I’m not writing code to help other people generate meshes or basking in my lovely wife’s company, I’m probably gaming in one form or another. If it’s not tennis with the neighborhood team (every neighborhood in Atlanta has a tennis team) or video games, I’ll be gathering with friends once or twice a week to play board games. There is a huge selection of games beyond Monopoly and Clue that most people aren’t aware of.
My favorite game at the moment is Pandemic Legacy, a co-operative game in which the players act as a team of specialists trying to prevent a world-wide outbreak of four diseases. Think of it as team-based solitaire, but with an engrossing theme and much more interesting decisions to be made. Each play results in modifications to the game itself that are carried over into future plays. It is structured as a season of games, much like a television series. It even includes plot twists to the collaborative story we’re playing out. The result is unlike any gaming experience I’ve ever had.
What is some of the best CFD advice you’ve ever received?
“Stop. Just stop. Let somebody else do it.” – Unknown
If you had to pick a place to have dinner, where would you go?
My wife and I eat out so infrequently (my wife is a great cook) and there are so many restaurants in the Atlanta area that we seldom go to a restaurant multiple times. If it’s a special occasion, though, I would pick Pampas here in Atlanta or Eddie V’s in Fort Worth. Both have served some of the best steaks I’ve ever eaten. At the complete opposite end of the scale, my wife and I really enjoy getting wraps at Roly Poly.