Training new Browser Engineers

From Genecats
Jump to navigationJump to search

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


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