Tuesday, December 22, 2009

TO LEARN

Java:
  • Annotations
  • Assertions
  • Static import
  • Advanced Generics
  • Whats new in Java 6 and 7
  • Memorize/internalize patterns
  • Memorize/internalize refactorings
  • JUnit non-trivially

Semantic Web:
  • OWL
  • DL
  • Complete semantic web programming books
  • Graph database
  • Write a CMS

Algorithms, Data Structures:
  • Data structures, dynamic programming etc. CLR Book
  • String processing
  • NLP
  • AI

Working with Git

Git looks easy and interesting.

Developing in team, I think there should be a personal source repository where you keep track of your own changes:

Check-in to master daily
Don't check-in anything to master thats not tested. I guess thats where TDD comes in.

Do an auto build hourly on personal

Do daily build just after check-in on master

build, check-outs from master, builds and runs tests?

Need to iron out the steps in my mind

Basic concern:
Branching - merging branches could break stuff?
Forgetting multiple changes made after master checkout - check-in to personal often, build often (test auto into build)

How to manage branches where there is a library change?
For example the new piocda (or other custome apps) for Vignette 7.6?