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
- A web page about
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.
- 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
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.