Training new Browser Engineers
From Genecats
Revision as of 20:04, 14 September 2015 by Kate (talk | contribs) (→software engineering best practices)
parasol
Trainer: Galt Barber
software engineering best practices
Trainer: Kate Rosenbloom
Recommended reading:
- The Art of UNIX Programming , second part of Chapter 1 (Basics of the Unix Philosophy, Eric Raymond). pp. 11-27
- Beautiful Code, Chapter 13 (Design of the Gene Sorter, Jim Kent). pp. 217-228
- The bad & the ugly: https://en.wikipedia.org/wiki/Code_smell
- Pike's rules: http://users.ece.utexas.edu/~adnan/pike.html
Some useful acronyms:
- DRY programming (also OAOO) - Don't Repeat Yourself, Once & Only Once
- YAGNI - You Ain't Gonna Need It
expressions:
- Software rot, bit decay
- Technical debt
and aphorisms:
- Do the simplest thing that can possibly work (Ward Cunningham, Extreme Programming)
- Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Martin Fowler, Refactoring)
Some philosophers of good practice:
- Brian Kernighan, PJ Plauger, Rob Pike, Yourdon (early UNIX)
- Martin Fowler, Ward Cunningham, Kent Beck (XP crowd)
- Christopher Alexander, Eric Gamma, Gang of Four (Design Patterns)
- 'Uncle Bob' Martin
machine layout, clusters, data flow, etc
Trainer: Hiram Clawson
loading a track, making an assembly
Trainer: Hiram Clawson
C libraries and GB code gotchas
Trainer: Jim Kent
kent src coding standards & libraries overview
Trainer: Angie Hinrichs
GBiB under the covers
Trainer: Max Haeussler
debugging tools
Trainers: Angie Hinrichs & Max Haeussler
background reading material
hgFindSpec: http://genomewiki.cse.ucsc.edu/index.php/HgFindSpec
Our csh - bash equivalence document: $HOME/kent/src/hg/doc/bashVsCsh.txt
VI: http://genomewiki.ucsc.edu/genecats/index.php/VI_quick_start
Cluster Jobs: http://genomewiki.ucsc.edu/index.php/Cluster_Jobs