Training new Browser Engineers: Difference between revisions

From Genecats
Jump to navigationJump to search
Line 58: Line 58:
== debugging tools ==
== debugging tools ==
Trainers: Angie Hinrichs & Max Haeussler
Trainers: Angie Hinrichs & Max Haeussler
Read the genomewiki page [http://genomewiki.ucsc.edu/index.php/Debugging_cgi-scripts Debugging cgi-scripts]


== background reading material ==
== background reading material ==

Revision as of 17:15, 15 September 2015

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

Read the genomewiki page Debugging cgi-scripts

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