Geophysics, Inversion, and Programming

Bill Harlan's Page

(your picture here)
Interested in geophysics? — Invert for offset-dependent wavelets and hyperbolic reflections simultaneously. — Automatic moveout picking is more robust with global optimization. — Signal/noise separation has many geophysical applications. — The Rytov/Eikonal approximation of wavepaths properly includes the effect of bandwidth in seismic tomography. — A convenient approximation of seismic anisotropy allows you to generalize higher-order moveout, prestack time-imaging, and depth calibrations with the same few parameters. — Here's my attempt to motivate the logistic function, useful for predicting oil production. — There's more geophysics on another page.
Interested in optimization and inversion? — Instead of regularization, reparameterizing models most effectively stabilizes inverse problems. — The simplest non-linear inversion in reflection seismology might be constrained Dix velocity estimation. — Here are Java classes for Gauss-Newton and conjugate-gradient optimization and older C++ classes. — Use conventional gradient methods to optimize neural networks.
Interested in programming? — Unused generality makes code hard to modify. — Try pair programming. — Try to avoid premature performance tuning. — How do unit tests help? — Simplify the management of C++ objects. — Use the Bridge/Impl pattern. — Refactoring is not rewriting. — Improve your Java Swing performance. — My notes on Gnu/Linux. — There's more programming on another page.
Interested in program management for programmers? — Does extreme programming work ? — Sooner or later my projects move to iterative development. — Here are suggestions on how programmers can improve project management. — Software development is a negotiation. — Ever been burned by an unrealistic development schedule? — Open research is most effective.
Here is a site map.   Search this site:
Here's my address and a short bio.