Table of Contents
- Pre Community Bonding
- Community Bonding Week 1: April 25-May 1
- Community Bonding Week 2: May 2-May 8
- Community Bonding Week 3: May 9-May 15
- Community Bonding Week 4: May 16-May 22
- Coding Week 1: May 23-May 29
- Coding Week 2: May 30-June 5
- Coding Week 3: June 6-June 12
- Coding Week 4: June 13-June 19
- Coding Week 5: June 20-June 26
- Coding Week 6: June 27-July 3 (Midterm deadline June 27)
- Coding Week 7: July 4-July 10
- Coding Week 8: July 11-July 17
- Coding Week 9: July 18-July 24
- Coding Week 10: July 25-July 31
- Coding Week 11: August 1-August 7
- Coding Week 12: August 8-August 14
- Submit code and evaluations: August 15-August 23
Pre Community Bonding
- Updated subdirectory structure of xapian-letor.
- Created subdirectories api/, ranker/, include/xapian-letor/, and move appropriate files to them.
- Created xapian-letor.h in include/
- Refactoring xapian-letor
- PIMPL refactoring of FeatureVector class.
- Moved include/xapian-letor/letor_internal.h to api/. Since this header had private implementation details, include wasn't the right place for it.
- Removed evalmetric module since it was non-functional.
- PIMPL refactoring of FeatureManager class (Created featuremanager_internal.h and featuremanager_internal.cc in api/ which hides away the private implementation details).
- Updated/added documentation comments in public API headers.
Community Bonding Week 1: April 25-May 1
Community Bonding Week 2: May 2-May 8
Working on features (FeatureVector, FeatureManager, Features classes) to see if there's anything left that needs refactoring. Making sure that my branch is in line with v-hasu's up till now and introducing code wherever required.
Community Bonding Week 3: May 9-May 15
University final exams. Making minor changes to the code to make sure that my branch is in line with v-hasu's up till now and introducing code wherever required.
Community Bonding Week 4: May 16-May 22
University exams continue.
Coding Week 1: May 23-May 29
University exams continue.
Coding Week 2: May 30-June 5
June 3: Resumed work on project full-time.
June 4, 5: Completed introducing code from v-hasu's branch for non-machine learning classes.
Coding Week 3: June 6-June 12
June 6, 7, 8: Re-introduced code due to the incorrect earlier introduction from v-hasu's master branch instead of gsoc2014. Opened PR.
June 9: Started working on the test suite for letor
June 10: Understood how test suite is working. Imported it to xapian-letor.
Coding Week 4: June 13-June 19
June 13: Successfully built the test suite for xapian-letor.
June 14: Started working on integrating ListNET and writing tests for the entire pipeline simultaneously.
June 15, 16, 17: Completed integrating ListNET and NDCGScore. Testing the code workflow.
Coding Week 5: June 20-June 26
Using this week to add some API tests, refactor existing methods and incorporating suggestions from the latest PR.
(Updated project timeline after mid-term discussion) Project plan
Coding Week 6: June 27-July 3 (Midterm deadline June 27)
June 27, 28: Refactoring and documentation updates.
June 29: Verifying v-hasu's implementation of ListNet as it doesn't seem correct. Using RankLib implementation and the paper as a reference.
June 30, July 1: Fixed bugs in ListNet implementation. Ran tests to check for correctness.
Coding Week 7: July 4-July 10
Opened PR for test suite integration (PR#110). Started integrating SVMRanker.
Coding Week 8: July 11-July 17
July 11-13: Integrated SVMRanker
July 14, 15: Started working on updating API structure, as discussed on the mailing list
Coding Week 9: July 18-July 24
July 18-21: Understanding implementation of ListMLE.
July 21-24: ListMLE ready for integration.
Read API design for C++ as a side reference
Coding Week 10: July 25-July 31
My laptop had a logic board failure. No major contributions this week. Spent time arranging and setting up a replacement system.
Coding Week 11: August 1-August 7
Opened up a PR for removing RankList and made minor fixes (PR#116). Spent time finalising API changes.
Coding Week 12: August 8-August 14
August 8 - 11: Worked on Feature and FeatureList API changes. (PR#120)
August 12: Started working on adding exception handling
August 13: Updated ListNET with API changes. Update questletor.cc and added trainletor.cc in /bin
Submit code and evaluations: August 15-August 23
August 15: Integrated NDCGScore with API changes. Updated letor.rst in /docs
August 16-19: Opened PR for integrating ListNET and NDCGScore (PR#123). Made fixes for points highlighted in code review.
August 19-20: Completed exception handling.
August 20: Started adding tests for the user-facing API.