OK, I’ve got to come clean. I don’t rigorously mesh that often. As part of the product development team, the grids I spend most of my time with are those meshes submitted by our talented users. They are typically ones that expose, ahem, “new features” in Pointwise that aren’t quite ready for the limelight. Joking aside, the meshes that I do see remind me regularly that Pointwise is used by many incredibly gifted individuals across the world. It’s one of the most gratifying feelings as a software developer to know that your software is genuinely helping people.
As for some background on myself, I was born and raised in Texas – more specifically, a suburb of the city of Tyler in East Texas. They call Tyler the “Rose Capital of the World.” I suppose because “Rose Capital of the Universe” sounded too presumptuous. That said, I do love Texas, and I hope to spend as much of my life here as possible. My only complaint is that there are still a few days out of the year when it’s cold.
I am one of those peculiar individuals who knew very early on what I wanted to be. In my youth, access to my family PC unlocked a fascination with computers that has never faded. My curiosity frequently got me into trouble however. As the third of four children, I often bore the blame whenever the family computer acted up. Perhaps the consternation that I was bested by a machine inspired me to devote my life to its mastery. Whatever the case, I began teaching myself to program in C++ by my early teens. I was hooked. In 2012, I graduated with a B.S. in Computer Science from The University of Texas at Dallas. Shortly after, I landed an excellent job at Pointwise. I’m fortunate enough to work daily with some of the most gracious and intelligent individuals in CFD and software.
- Location: Fort Worth, TX
- Current position: Engineer, Product Development
- Current computer: Windows 7 workstation: Intel Xeon CPU E3-1270 3.50 GHZ, 16 GB DDR3 RAM, 500GB hard drive + 300 GB SSD, NVIDIA Quadro 600, ASUS PB278Q 27-inch (2560×1440), ACER G246HL 24-inch (1920×1080).
- One word that best describes how you work: Cheerfully
What software or tools do you use every day?
I’m glad you asked! Unquestionably, the most important tool I use is my text editor. I would be performing a disservice to my profession if I did not take this opportunity to excessively extol the virtues of my editor of choice – namely, vim. My first taste of vim came during a lecture from one of my college professors. I was shocked to see how quickly and effortlessly he manipulated his code without touching the mouse. This was magic. I had to learn these secret arts. Since then, I’ve discovered that learning vim is a bit like climbing a mountain: daunting at first, a long way down, and full of endless wonder! (He’s still talking about a text editor, right?)
Paired with vim, I use Microsoft’s magnum opus that is Visual Studio for code compilation and debugging. I use Cygwin for tools like grep, find, rsync, and xterm. MaxTo is an excellent window management tool I use to organize windows on my desktop. I also use Perforce for software versioning and revision control. Finally, I will give major kudos to AutoHotkey for enabling me to fill in all the small gaps that aren’t covered by dedicated software.
What does your workspace look like?
I work in a cozy cubicle located in one of Pointwise’s first floor offices in Fort Worth. This particular downstairs office houses only developers. We lovingly call it “the developer dungeon.” In practice, however, it is probably more like a library as often only the sound of keystrokes break the silence. On more than one occasion, I’ve noticed guests in our downstairs office feel the curious need to whisper while here.
As for my desk, I try to keep things organized. I use two monitors: one in landscape and the second in portrait. My keyboard is the Das Keyboard 4 Ultimate. Its distinguishing feature is that its keys are completely blank and very clicky. I use a completely vanilla dell mouse as I’ve yet to find a wired, left-handed mouse that is more useful. For audio, I use Audio Technica’s M50 headphones – highly recommend for the price! The keen observer will also spot an aging Mac-mini that I occasionally use for odd jobs related to development. Other than that, I’ve got the basics: a phone, a notepad, a notebook, and a fountain pen.
What are you currently working on?
Recently, I have been working on upgrading Pointwise to use Qt5. For the unaware, Qt (pronounced “cute”) is a platform agnostic framework that is used for application development. While Qt’s most recognizable feature is its platform appropriate graphical user interfaces, it also provides low-level cross-platform features such as an extensive set of data structures and utilities. Pointwise has used Qt4 until this point. When my work is complete, Pointwise will employ Qt’s latest and greatest offering that is Qt5.
Other than that, I’m juggling several bugs that are assigned to me. I prefer to have several ongoing tasks. Having the ability to switch to something new should I hit a rough spot on a current task is often helpful. Commonly, I find that a good way to solve a tough problem is to give yourself some space and revisit it later with a clear mind.
What would you say is your meshing specialty?
As a product developer at Pointwise, I am more focused on maintaining and improving our code than specifically meshing. To that end, I have the fortunate position of being able to work on many aspects of the software. Therefore, I don’t have a “specialty” per say. I try to keep myself as well versed on as many aspects of the code as possible. I enjoy learning new things, so I am always eager to take on new challenges. Pointwise is really fascinating software in that it employs a wide range of software techniques and disciplines.
Any tips for our users?
Personally, I enjoy figuring out new software. However, even I find the process intimidating at the outset. My personal recommendation when learning any software is to never be afraid to explore it. This also applies to Pointwise. Don’t hesitate to try a feature, task, checkbox, etc. just because it is unfamiliar. It might be exactly what you need! Very often, the only way to truly understand how a tool works is to use it frequently and try it across varied scenarios.
To this end, Pointwise even gives you a leg up. It may sound simple, but Pointwise offers task selection sensitivity. That is, tasks are enabled only for entity selections that make sense. This very quickly pares down the number of options you have to explore. For example, you might select a connector and explore all the tools that work with a connector. While exploring, you might just find something you didn’t know Pointwise could do!
What project are you most proud of and why?
A good candidate would be the Align View to Surface task. It may seem deceptively simple, but a fair amount of work was done behind the scenes to keep this task running smoothly. My work on this is particularly gratifying as it is quite handy tool. I’m also a bit biased because this particular task was quite enjoyable to work on.
A close second would probably be the work I did to improve the Orient task for structured domains. Previously, it could be quite difficult to determine orientation of complex structured domains – even more confusing when multiple domains enter the picture. Therefore, I added code to draw inset, surface aligned arrows indicating the I,J, and normal directions of the domain. This seemingly trivial task held a few challenges that I enjoyed facing.
Honorable mentions would probably go towards my work on the Y+ Calculator App, the Leap Motion controller, and the upgrade to CGNS 3.1.4. Each one was a fairly involved undertaking and therefore felt rewarding to work on.
What CFD solver and postprocessor do you use most often?
Aside from demo scenarios, I’m not sure if I’ve ever run a solver to completion. Typically, my focus with solvers and post processors is to check the validity of the grids Pointwise exports. As I am one of the developers responsible for maintaining our ANSYS Fluent plugin, I am familiar Fluent’s case file format and the import process. ParaView is another tool I am familiar with and often use it to help verify a number of other file formats.
Are you reading any interesting technical papers we should know about?
No technical papers, but I am reading several technical books in my spare time. At the moment, I am dividing my time between three: Real-Time Rendering by Tomas Akenine-Möller, OpenGL 4.0 Shading Language Cookbook by David Wolf, and finally Real-Time Collision Detection by Christer Ericson.
Do you plan on attending any conferences or workshops this year?
Yes! Earlier this year, I attended AIAA’s Aviation 2015 conference in Dallas, Texas. Later, I will be attending the 24th International Meshing Roundtable in Austin, Texas. I’m looking forward to gaining more insight into the meshing community at the upcoming event.
What do you do when you’re not generating meshes?
When I’m not helping to create the best meshing software in the world, I divide my time between several things: church, family, friends, hobbies, and pastimes. As alluded to earlier, most of my family lives in Tyler, Texas. I enjoy visiting them when I can, and the two-hour trip from Fort Worth is easily manageable over a weekend.
As for hobbies, I unfortunately have too many. I dabble in 2D vector graphic art as well as 3D renders. I’m also an amateur digital music composer with slight experience as a pianist. One of my more outlandish hobbies is repairing and modifying video arcade cabinets.
Unsurprisingly, I also like programming in my spare time. Sadly, I have a proclivity for starting more projects than I can finish. Thus, there are too many to name individually. However, one of my more current software projects involves integration with the Oculus Rift virtual reality headset.
When time affords, I also enjoy traveling. I especially enjoy visiting national parks. A friend and I recently made a hectic eleven day road trip across the western United States. Starting from Fort Worth Texas, we were able to cram in visits to Sequoia National Park, Yosemite, Lake Tahoe, Redwood National Park, Glacier National Park, Devil’s Tower, Mount Rushmore, Badlands National Park, and Rocky Mountain National Park.
What is some of the best CFD advice you’ve ever received?
“Everyone has different opinions on what a makes a good mesh. There isn’t a single answer. An ugly grid, however, likely has problems.”– John Chawner
If you had to pick a place to have dinner, where would you go?
Every so often, I get tired of burying all my excess cash in the backyard. On those days, I enjoying eating a nice steak at the Reata Restaurant in Fort Worth, TX. I have eaten few steaks that come close to matching the excellence that is a Reata steak.