Author Archives: h20wil

UCOSP Blog Post

Hi! I’m Wilson Yeung and I’m in my last semester at Simon Fraser University where I am pursuing a Bachelor of Science in Mathematics and Computing Science.  I joined the Review Board team because an opportunity was presented to  the computing undergrads at SFU to join UCOSP.  Despite having high expectations, I am still surprised at how fulfilling this experience is.  Being enclosed in a controlled learning environment at university, I was excited to work on something that had real life applications and meaning to the outside world.

I have grown quite a bit since I started working on Review Board.  Prior to Review Board, I rarely did anything on the command line, haven’t used a linux OS, half decent at Python and Java, and a beginner in some other generically known languages such as HTML and C.  (Yes, I was a noob) Throughout this term, all those things have changed.  With tons of hard work and the comfortable learning environment, I’ve improved lots.  Albeit I’m not a pro at everything, but I’m comfortable with running Ubuntu from the command line, and I’ve read a hundred-ish pages of documentation on Java, JavaScript, Django, HTML, and much more.  Not only did I learn through reading documentation this semester, but I was given invaluable experience from the mentors and team members of Review Board.

If you didn’t know, Review Board is a web-based tool to do code reviews.  Due to the nature of the purpose of  Review Board, it becomes an invaluable tool in any project.  It tracks changes while giving you a bunch of tools to give critique or approval.

Throughout the semester, I’ve committed most of my time reading documentation on different languages to work on a certain project.  That project involved creating a setting in a user’s profile that would reflect changes in the comment boxes generated when you want to comment on some code.  Although it doesn’t sound very complicated, the architecture of Review Board can make the problem quite complicated.  The project forced me go through every level of the architecture in Review Board as well as access the database on the server.  While taking into consideration not only python files, but also JavaScript files and HTML files, it was difficult to maneuver between different file types and languages.

To conclude,  the Review Board team is awesome.  I wish there were more powerful words to explain how great the team is.  Everyone is intelligent, hard-working, and has a good sense of humour.  I would like to thank the UCOSP steering committee and the SFU liaison professor, Dr. Ted Kirkpatrick for making this possible for me.  Extra kudos to our mentors; Mike Conley, Christian Hammond,  and David Trowbridge, for being all-knowing, yet chose to guide us rather than spoon-feed us.  None of this would be possible without their time and their commitment to UCOSP.  I would highly recommend any comp sci undergrad to apply for UCOSP (ESPECIALLY Review Board) if they want to get a running start on their career in the computing science field.

Warmest Regards,
-Wilson Yeung


Meeting Minutes for March 31st, 2012

Not Present: Curtis


  • Finish coding by April 11th
  • If cannot finish, document your work so someone can pick it up easily


  • Yazan: Doing well, just needs some reviews.
  • Dave: Figured solution/direction for r2991.
  • Steven: Needed a review bot repo added to  Needs some reviews r3020, r2855.
  • Jim: Consolidating get_chunks. now has a location in changedescs/templatetags
  • Anthony: Concern with conflicting code with Yazan.
  • Willer: Problem with “./reviewboard”, no real damage.  Still having problems with unit testing.
  • Wilson: Chosen a wireframe. Will continue to code r3030.

Side Notes

  • “git pull” = “git fetch merge”
  • Help with reviewing!
  • Steven now has the ReviewBot repo

Meeting Minutes: Feb 25, 2012

All members were present to the meeting



  • Midterm reviews were sent the past Wednesday (ie we’re half-way through the “course”)
  • Upgrading to Django 1.4 beta
  1. {{MEDIA_URL}} is now {% static}
  3. adds elif
  4. Look out for random breakage
  5. To install $ easy_install
  6. To update $ ./reviewboard/ evolve –execute
  7. feel free to read release notes


  • Wilson’s new project will be to work on issue 829
  • Willer is looking to pick up the “Weekly email update” project and is near completion of his latest review (post 2891). Also has some problems with the Scheduler. He will look into crontabs.
  • Steven was a little blocked on his extensions; admin sites and default settings. To avoid ReviewBot being SpamBot, security measures were discussed.
  • Jim will doing some catch up with his project.  He also has a blog post due Monday.
  • Dave will be doing some research on diff file formats supported by git, svn, hg, and possibly cvs
  • Curtis is looking to dynamically populate template files, and has been recommended to use templatetag.
  • Anthony is looking for a new project, and will look into selecting between different styles to view screenshots in full review and diff review.

Side notes

Status Reports – Feb 18, 2012



– Submitted Issue Tracking integration for code review

– Addressed very minor issue with SettingsForm-generated admin pages.

Next Steps:

– Address code reviews for Issue Tracking integration

– Look into adding options for SettingsForm to the extension generation script


– None



– Added a Template Hooks section to the Building Extensions documentation.

– Made a couple revisions to Interdiffs.

– Started work on a prototype version of the reviewboard-social extension.

Next Steps:

– Continue working on the social extension.


– Currently switching over to a new mac, found out linux wont install on a MacBook Pro 8,2. Installing in a VM today.

– Yay new mac!



– Moved files works but doesn’t save chunks yet

– rbtools updated to pass -M flag

– Reading week! Will get lots of stuff done this week.

Next Steps:

– Get moved files to save chunks

– Detect moves on other version control systems in rb and rbtools


– Midterm week, not much free time but will make up for it this week.



– Made some progress with changed Description/Testing, have some basic functionality down

– Still stuck on the comment object not correctly sync’ed bug..will keep investigating

Next Steps:

– Working on building a prototype for the diff of changed Description/Testing section, should be able to come up with screenshots by end of weekend


– Busy week with interviews/midterms/assignments, will work more next week(reading week) to catch things up



– Made a small change to djblets (committed to master

– Added admin sites for extensions in djblets ( )

– Updated Web Hooks extension ( )

– Worked on ReviewBot.

Next Steps:

– Add the ability for extensions to have default settings.

– Fix issues with extension admin sites.

– Update Web Hooks to use new extension capabilities.


– Need more information on how extension admin sites should act / input on a bug

– Has anyone figured out how I should implement review bots access to the code (continuation from last week)

– Web Hooks depends on my extension changes

Wei Lu


– Could not make any progress in testing code due to django evolution

Next Steps:

– Get over the roadblock with assistance


– Stuck with django evolution for >10 hours; tried everything but it just didn’t work for me



– made progress in understanding javascript, playing with code

Next Steps:

– look for new project

– making the comment box reflect changes made in the database


– figuring out relation between different coding languages



– Required fields almost done

– Working on improved summary table

Next Steps:

– Submit improved summary table

– Pick up a new task


– Concern: Possible code conflict with r2859

Code Sprint

Holy cow I learned so much!

First, I’ll give you a small background view of my background prior to the code sprint.

  • I haven’t used any linux platform before
  • I’m not familiar with command-line-type actions
  • I have minimal experience with javascript and html code
  • Never used Review Board

After the seemingly short 3-day code sprint, I have developed some meaningful skills:

  • I can use ubuntu now!
  • Basic grasp of command line usage
  • understanding of reviewboard architecture
  • learned about Django-evolution

Along with some amusing (only in retrospect) memories. Namely a hardware failure and trying to use openSUSE.

I haven’t submitted anything for review yet. However, I’m currently working on 2282 and trying to figure out how to call on variables from other files in other formats.  More importantly, on how to access the database to store a variable that is subject to change.