Greybeard Geek

Accomplished, mature, experienced

This site is under development.
See and
for my older, straighter sites. Made with Remarkable!


Old guy proving that productivity, new learning, and relevance can go on until I’m done.

A great benefit of age is experience. My experience is long, broad, and deep, ranging over computational science, data science, visualization, high performance computing, computational geometry and game development, all founded on a solid academic background in mathematics and physics.

Old enough to know that experience is not enough. Constantly learning new stuff, developing new skills, taking on new challenges–all these continue to drive me, as they have all my life.


Looking for projects on which I can enjoy working my considerable special skills – Remunerative, challenging, right livelihood, fun.

At this stage of my career I’d be most interested a contractor/consultant role, but employment is not out of the question.

Current employment

Presently, and for past ten years, employed at Dynamic Graphics, Inc.

Major role in development and maintenance of DGI’s flagship product, an interactive scientific visualization system and suite of analytic tools for geophysics, aimed particularly at oil-and-gas exploration and production.

Consulting on computational science for research groups at two of DGI’s client Big Oil companies. Co-author on some of their published papers.

Oil companies’ geophysical data sets are large, so this work has a lot of the character of big data analytics, and is inherently geospatial.

Some specific achievements detailed here .

Skills and Interests

Machine learning

This is an intense current interest rather than a long standing one. Impressed by the spectacular recent successes of deep learning techniques, and recognizing that it’s an area where my mathematical toolkits and programming skills can find good use, I’ve been giving this a lot of attention as the current focus of my life-long learning program.

Have successfully completed one deep learning project in my employment, for one of DGI’s oil company clients, investigating the application of neural networks to learn a complex multi-variate non-linear function. Used Scikit-Learn, Keras, TensorFlow, Pandas, Seaborn, and the general scientific Python environment.

As a hobby learning experience, have spent some time over the past year working on several Kaggle competitions, have submitted one (as a team of one), which ranked in top 30%. Most interested in the Kaggle competitions involving image data, such as satellite imaging or medical imaging, especially the 3D imaging, such as MRI data. Have found that these projects require a lot of wrangling of the data before even beginning to think about appropriate machine learning models. My long practiced skills in image processing, enhanced by modern tools such as OpenCV 3 and the Python environment, have served well in the data wrangling.

Interactive 3D graphics and computational geometry

A passionate geometer since middle school geometry, have been doing geometry in code through much of my career.

My Ph.D thesis can be viewed as a partial classification of 4-dimensional crystals. It was also a novel application of computational methods to a problem in pure mathematics.

Work in computational fluid dynamics at NASA in 1980s naturally involved 3D and 4D graphics for scientific visualization. Used IrisGL from its beginning; it evolved into OpenGL, which I continue using today in my work at DGI.

In early 1990s, did much consulting work for Digital Equipment Corp (RIP) concerning their 3D engineering workstation products. This included application software development, technical writing, and training. Developed and delivered an intensive training course in 3D graphics and PHIGS programming for the DEC engineers in sales support and customer support. Wrote a book on the topic, unpublished (because PHIGS lost to OpenGL in the market), but very well received by the DEC readership.

In 1995-1999, with the advent of commodity 3D hardware for PCs, I found a niche as a consultant implementing geometry and physics engines for immersive 3D games. Have never myself been a gamer, but this niche opened for me because the mathematical step from 2D to 3D was forbidding for many of the hackers who had been writing the 2D games. Implemented the geometry and physics engines for five published games for PC and Play Station. Much of what I did as one-offs would today be provided by a middle-ware product such as Havok or PhysX. In 1997 I had the best real-time collision detection of any published game. This work all in C++.

Contributions of a geometrical nature have been a significant part of my accomplishments in my current employment at DGI. Much of the geophysical work is on highly irregular cellular finite element models of oil reservoirs, giving rise to numerous interesting problems of intersecton and slicing. My solution to a cross-sectioning problem in 2008-2009 put DGI’s product far ahead of the competition of that era.

Except for the Ph.D. thesis, all this geometric work uses geometry that’s not very advanced, just sophomore-level Gibbsian vector calculus. I’m distinguished by my sharply honed skills for doing that in code and crafting algorithms for doing it efficiently on large data sets.

With the rising importance of web programming skills, I’ve turned to learning how to wrap all my 3D expertise in WebGL. Here’s my first experiment with WebGL and JavaScript .

Scientific software development

Presently, and for some years, I’m especially practiced in using C++ in scientific applications–computational fluid dynamics, geophysical modeling, dynamics engines for games, data visualization, and financial modeling. I’m fluent in the latest C++11 idioms, the Boost libraries, move semantics, and generic programming, which all I exercise in my daily work. I’m a great fan of modern C++, for the way that it simultaneously affords expressive power, runtime performance, and programmer freedom.

In my curent employment, we support the product on Windows and Linux, and I’m in command of the appropriate C++ development tools on these two platforms, such as Visual Studio and Eclipse.

A long time major interest is performance optimization of scientific applications on parallel architectures. In my present job the focus is on multi-threading on multicore shared memory processors and on GPUs, and I have been the leader in our company for introducing parallel processing into new code, as well as retrofitting a very large, very old legacy code base. OpenMP for multi-core and CUDA for GPU are our parallel programming tools. Previous periods of my career included significant experiences in parallel programming for distributed-memory architectures using MPI, and for SIMD vector supercomputing with vectorizing Fortran compilers. I’m practiced in the power tools, such as Valgrind and Intel Parallel Amplifier.

Several past projects have provided experiences in various areas of image processing, .....

Through several decades of programming I’ve attained some level of mastery of, and completed substantial projects in, numerous different programming languages. Nowadays, Python is my language of choice as an alternative to C++, for quick prototyping, for one-off tools, in particular, for image data wrangling and machine learning experiments.

Previous employments

Humboldt State University 1970-1978

Associate Professor of Mathematics – Teaching math, physics, and computer science. Excellent teacher. Served three years as Department Chairman. Resigned tenured position in the year that I would have been promoted to full professor because the prospect of another 25 years of reteaching the same undergraduate currriculum was inconsistent with my raison d’etre of lifelong learning and seeking new challenges.

NASA Ames, Institute for Advanced Computation 1980-1983

Employed by contractor Technology Development of California. First job after quitting teaching job. First assignments in developing computational fluid dynamic codes for the Illiac-IV supercomputer under direction of the late Harvard Lomax . As NASA embarked on its first acquisition of a commercial supercomputer, I became a member of the evaluation team, involved in porting various NASA CFD codes to the three competing architectures and benchmarking them, which was about a one year project.


Berkeley, California.


A.B. in Physics with Honors
M.A. in Physics
Ph.D. in Mathematics
all from University of California, Berkeley.

Academic honors include Phi Beta Kappa and Woodrow Wilson Fellowship.

My Ph.D. thesis, “The Compact Euclidean Space Forms of Dimension Four”,
was a novel application of discrete computational methods to a problem
in pure mathematics, being a special case of Hilbert’s 18th problem.

Some projects at DGI

Formula Processor
Computational Geometry kernels
Numerous computational solutions in geophysics, essentially as on line computational scientist for a major DGI Client,
being an international energy company.
Seismic response simulation

Greybeard Geek home