Design.
- Wikipedia page on Design document.
- Wikipedia page on the Waterfall model.
- Wikipedia page on Big Design Up Front (BDUF).
- Wikipedia page on You Ain't Gonna Need It (YAGNI).
- A famous section of an article by Richard P. Gabriel titled
The Rise of
Worse is Better
. - The famous Tanenbaum-Torvalds
Linux is obsolete
debates. - Linus Torvalds on Linux and evolution.
Failure.
- Wikipedia page on Fail fast programs.
- Section from Effective Java on Failure atomicity.
Functional programming.
- Wikipedia page on Functional programming.
Testing.
- Wikipedia page on Test-Driven Development (TDD).
- Page on The Three Rules of TDD.
- Wikipedia page on Unit Testing Frameworks.
- Package vignette for RUnit package.
- Wikipedia page on Code refactoring.
- C2 page on What Is Refactoring.
- Jargon file entry for Buzzword compliant.
Literate programming, reproducible research, and Sweave.
- Wikipedia page on Literate programming.
- Instructor page on Reproducible Research.
- Web page on
Aster models, which
includes
reproducible research
tech reports for two papers.
- Seen on reddit. Why you never ever want to program on or for Microsoft computers.
- Note that the solution above is MinGW. To make Micro$oft Windoze computers a sane programming environment, install half of unix. Simple!
- Note that this is exactly the same solution used by the R Windows team to get R running under Windoze.
- BTW, in case you missed the news, Micro$soft just jumped the shark. See here and here.
C
- Wikipedia page on
Hello World
programs. - Charlie's
Hello World!
program. - A web page on calling C and Fortran from R.
- Home page of the International
Obfuscated C Code Contest.
- One winner westley.c.
- Another winner davidguy.c.
Bugs
- A web page on how to report bugs.
- The web page for reporting R bugs.
vignettes
- The section of Writing R Extensions about package vignettes.
non-uniform (univariate) random numbers
- Wikipedia page on Rejection sampling.
- Wikipedia page on polar method for normal random variates.
- An R batch file demonstrating why the polar method works.
- Wikipedia page on RANDU, an infamous RNG.
- Wikipedia page on the middle-square method.
- Wikipedia page on the Diehard battery of tests for random number generators.
- Amazon page for Gentle: Random Number Generation and Monte Carlo Methods
- Amazon page for Knuth: Art of Computer Programming, Vol. 2
- Amazon page for Fishman: Monte Carlo
- Amazon page for Ripley: Stochastic Simulation
- Home page for Devroye: Non-Uniform Random Variate Generation now out of print but Devroye has put PDF of the book on the web for anyone to print as they see fit. This is the bible of the subject! It is truly a crime that Springer won't reprint it.
Talks.
- The Presentation Zen website.
- Amazon page for the Presentation Zen book.
- Wikipedia page on Pecha Kucha.
Numerical linear algebra.
- Wikipedia page on Arnoldi iteration.
- Wikipedia page on Lanczos iteration.
- Wikipedia page on GMRES.
- Wikipedia page on the conjugate gradient method.
- Wikipedia page on preconditioning.
Optimization (of computer code).
- C2 page on Rules of Optimization.
Computer arithmetic.
- Wikipedia page on IEEE Arithmetic.
- Paper What Every Computer Scientist Should Know About Floating-Point Arithmetic.
- JSTOR version of article Algorithms for Computing the Sample Variance.
Root finding.
- Wikipedia page on the bisection method.
- Wikipedia page on the secant method.
- Wikipedia page on Newton's_method.
Unconstrained optimization.
- Wikipedia page on global optimization.
- Wikipedia page on Newton's_method.
- Wikipedia page on Quasi-Newton methods.
- Wikipedia page on the conjugate gradient method.
- Wikipedia page on Wolfe conditions.
Constrained optimization (also called mathematical programming).
- Wikipedia page on linear programming.
- Wikipedia page on quadratic programming.
Unconstrained optimization.
- Rweb page giving Newton's method example.
Unconstrained optimization.
- Wikipedia page on version control.
- Wikipedia page on distributed version control systems.