CompSciWeek14-15

= Installation Woes =
 * Python packages (ex: sympy)
 * GNU Autotools + make-based process (ex: FFTW)
 * Cmake: a developer-friendly (not user-friendly?) alternative (ex: cgal)
 * Non-standard makes (ex: NAMD2 and NWChem)
 * Tinkering with open-source
 * The DL on Software Licenses
 * Apache, BSD, GPL, Microsoft, FDL, Creative Commons
 * The open-source that isn't: Canvas

The single most important idea for compiling and installing new software is to remember that the installation works for the developer's environment, and it will for you, too if your environment is setup correctly. Often times this is easier said than done.
 * 1) Package Dependencies (pdftk depends on libgcj)
 * 2) * and versions of those packages - this is usually the worst part
 * 3) Shell variables
 * 4) * PATH, CFLAGS, LDFLAGS, LD_LIBRARY_PATH
 * 5) Compiler version
 * 6) Machine architecture

Tips:

To find a package owning a file (on linux systems with rpm)

rpm -qf /usr/lib64/libfftw3.so.3

To find all files associated with a package

rpm -ql fftw-3.2.1-3.1.el6.x86_64

= The Monte Carlo Method =
 * Integrals of the form: $$\int \frac{f(x)}{g(x)} g(x) dx$$
 * Computing pi
 * Parallelizing with MPI4Py