Undergraduate Capstone Open Source Projects

Archive for January, 2010

Thunderbird Status Update

Posted by mille449 on 2010/01/30

For the full update, check out our project blog.

Everyone is starting to feel the pressure of their classes this semester, but despite this several of us are close to submitting our first patch.  A common theme is difficulty understanding how to work with the Mozilla platform, but learning how to work with someone else’s code is good experience for us all.

Posted in Thunderbird | Leave a Comment »

Small Update

Posted by Brenda Sadoway on 2010/01/30

After our conference call today, here’s a summary of the current situation of what I’ve been working on, as well as the direction this aspect of the project is going:

The past couple weeks, I’ve been working on hiding references to packages (in the project explorer, as well as buttons and menus that allow the user to create a new package).

The concept that is being discussed is that we don’t want the user to work in Java Lite for the first month or so of their course, then come to the point where they switch to the regular Java perspective and become overwhelmed by the sudden presence of many tools they have not been introduced to.

Idea 1: Divide the Java Lite perspective into levels (beginner, intermediate, etc…) that determine which tools and aspects of Eclipse or visible and which are still hidden.  The user would be able to choose their level depending on what they feel comfortable with at the time.  The possible levels would be available through the welcome screen (and through a menu somewhere as well?).  There’s still the task of deciding what’s considered a basic tool meant for “beginner” users, what’s one step up from that, for “intermediate” users, and so on.

Idea 2: The program learns what should and shouldn’t be displayed over time based on the user’s activity.  If they are beginning to use certain tools, perhaps the next level of those tools, or others that might also be useful, should be visible from then on.  To avoid new aspects of the perspective suddenly appearing at seemingly random intervals, perhaps a window pops up when the user seems to be ready to learn about a new tool or concept, explaining where it is and what it’s used for (is this along the lines of a tutorial?).  Similar to Idea 1, there’s the task of deciding at what pace new tools are brought to the user’s attention, and in what order.  I think this would be based on what the user is already using, and how often.

Based on Idea 2, Wayne proposed in Bug 299965 that the default package should always be hidden.  If the project has an explicitly made package though, it should be visible.  Likewise, if only one source folder is present, it should be hidden, but if more than one exist, they should be visible as well.  This is to preserve the project structure the user or someone else (for example, a teacher), may have intended, while still simplifying the hierarchy where possible.

That about sums up what’s been discussed on this topic.

The conference call replaced our weekly meeting this week.


Posted in Eclipse4Edu | Leave a Comment »

MarkUs Weekly Meeting – Jan. 29, 2010

Posted by Farah Juma on 2010/01/29

The MarkUs team had its weekly meeting this afternoon. We had a pretty big group today! Our meeting minutes can be found here.

Posted in MarkUs | Leave a Comment »

Mercurial Progress Report (Week 4)

Posted by Anton Markov on 2010/01/29

We have made substantial progress towards getting our initial contributions ready for submitting to the mercurial-devel mailing list. This has been a week of testing and code reviews where we all learned something new about Mercurial and writing python code in general.

To summarize, you can expect the following extensions to be submitted to the mercurial mailing list in the next week:

  • tagmerge (wendyY): support smart merging of tag files (tags are labels for specific commits or heads)
    • some fixes and testing, testing, testing
  • cedit (paulitex): command line and interactive editing of mercurial configuration files with shortcuts for common setup operations
    • submitted iniparse (external lib) changes upstream
    • documentation, bootstrapping, testing, testing, testing
  • convert (Tessa): modifying the convert extension to support wildcards in exclude statements
    • order/precedence of include vs. exclude
  • cache-annotations (antmar): cache the results of the annotate (blame) command to speed up generation of annotations at future revisions.
    • case-insensitive cache store
    • code reviews
  • caseguard (alexandru): warn/prevent users from committing files which cause problems on case-insensitive systems
    • code reviews
    • finishing up support for guarding specific commands

We posted our detailed progress reports on the January 28’th wiki page before this week’s meeting.

As we discussed last week, our next project is to improve support for binary files in Mercurial.

  • Binary files (or large text files) are often replaced with completely new versions during a commit. As a result they don’t compress well using deltas, and we end up storing many copies of the file, taking up space in each copy of the repository.
  • One solution is to store the files in a centralized store (local or remote) which is shared by many copies of the repository.
  • This solution is currently implemented as the ‘bfiles’ extension by Greg Ward. It provides commands for dealing with b-files that mirror standard Mercurial commands (ex. ‘hg bfstatus’ vs. ‘hg status’).
  • We plan to integrate bfiles with existing mercurial commands, add full support for HTTP-based stores, and other improvements.

Everyone has had a chance to read about and play with bfiles over the past week. The Waterloo people (Tessa, wendyY, and I) have decided to tackle integration with existing Mercurial commands.

Posted in Mercurial, Status | 2 Comments »

The hidden power of ruby’s “next” keyword

Posted by chancancode on 2010/01/29

Just blogged about this on my blog today, which might be of interest to the MarkUs folks.

Posted in MarkUs | Tagged: | Leave a Comment »

Markus Status Update!

Posted by Robert B on 2010/01/29

… can be found here .

If you make it to the bottom, you can see that I haven’t done very much. Interviews take up so much time! It’s a good problem to have, but I can’t help be feel a bit of guilt for pushing MarkUs off to the side for them.

Because of the flexible nature of UCOSP, it’s possible for me to do this. I’m just using my banked up hours from the code-sprint sooner rather than later. I plan on being back on track in a week or two when the scheduling madness that interviews induce finish up.

With any luck and some thorough grounding in data structures and algorithms, soon they will all be over. 🙂

Posted in MarkUs | Leave a Comment »

Technology Explorer Introduction

Posted by Diane Tam on 2010/01/28

Technology Explorer for IBM DB2 “Flight simulator” Project


Brian Olynyk, team lead of Technology Explorer

Peter Kohlmann, original creator of Technology Explorer

Matthew Vandenbussche, core developer and architect of Technology Explorer

UCOSP Students:

Michael Man SFU <mantong01@gmail.com>

Godfrey Chan SFU <godfreykfc@gmail.com>

Lenny Han Toronto <fallingangeles@gmail.com>

Diane Tam Toronto <diane.tam@gmail.com>

Jean Lalande Laval <jeanlalande@gmail.com>

Sylvain Petitclerc Laval <sylvain.petitclerc@gmail.com>

UCOSP FlightSim Team Blog:


Weekly Team Meetings:

Tues and/or Thurs 1-2pm (EST)

Code Sprint Jan 15-17 Overview:




One of the major long term goals for the Technology Explorer for IBM DB2 has been to provide an environment similar to a flight simulator for Database Administrators.  Pilots used to learn to deal with potentially dangerous and stressful situations in a real place.  This was risky and expensive.  Pilots today learn to deal with system failures and extreme conditions on flight simulators.  DBAs still develop their experience on live multi-million dollar production systems.  They could develop skills and confidence faster and more safely on a simulator.

Over the past few years the Technology Explorer for IBM DB2 team has built all the base components to create this simulator as part of our open source project.  The next step is to pull the pieces together into a viable simulation.  The team will use the existing open source building blocks to simulate a stable production system and then disrupt it with a number of planned or unplanned problems.  The system will then walk the DBA through problem recognition and resolution.

Goals for the project would:

  • Extend the existing framework to simulate database management problems
    • Simulate DB2 in production
    • Create a disruption of the system, for example a hard drive failure, lock contention, or excessive workload
    • Guide a DBA to identification and resolution of the disruption
  • Develop at least one example of a problem simulation


PHP, JavaScript, Prototype js library, AJAX, dynamic web pages, HTTP protocol (the impact of it being a stateless system and what has been done to keep memory between requests on both the client and server sides)

Project managed through SourceForge.net:

Wiki: http://db2mc.sf.net

Development:  https://sourceforge.net/projects/db2mc/develop

Forum: https://sourceforge.net/projects/db2mc/forums/forum/761211

Issue Tracker: https://sourceforge.net/tracker/?group_id=211760

Additonal Links:

Steps for adding files(e.g. screencast): https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download

Express-C:  http://www-01.ibm.com/software/data/db2/express/

Source code for ibm_db2:  http://pecl.php.net/package/ibm_db2

Debugging PHP:  PDT2 (Eclipse for PHP) http://www.eclipse.org/pdt/downloads/ and install either XDebug or ZendDebug and configure in Apache and Eclipse.

Posted in FlightSim | Tagged: | Leave a Comment »

Basie Status Updates

Posted by Greg Wilson on 2010/01/28

We’re on track to release Version 0.6 in time for PyCon (which is three weeks away), though we may get there by slapping the word “beta” after the “0.6” :-). Lots of bugs are being fixed; the ticketing system and milestone display are seeing significant re-work; and we’re cleaning up code (e.g., pulling Javascript out of HTML pages and putting it in separate files, doing better error reporting). More importantly (at least for me), our work now has a rhythm: stuff is going up on ReviewBoard, getting checked, and getting committed on a pretty regular basis. We do have a couple of big things to worry about—grabbing IRC messages sometimes puts a strangely high load on the CPU, for example, and the search index file sometimes locks up—but we’re getting there.

Here are the details:

Posted in Bios | Leave a Comment »

Recursive SQL query goodness

Posted by chancancode on 2010/01/28

So this week I’m looking into resursive SQL queries. And my goa? To saturate the CPU with that 😀 So normally you’d want to make your query fast and avoid O(n^2) queries as much as possible, but now I’m doing the opposite and make it use as much CPU as possible. Kinda awesome you get to do that for a school project isn’t it!

Posted in FlightSim | Tagged: | Leave a Comment »

Meeting minutes for FlightSim on Jan 28, 2010

Posted by Michael Man on 2010/01/28


Jan 28, 2010 1pm EST


Sylvain, Michael, Jean, Godfrey, Diane, Lenny, Matthew


General Update

  • Please don’t be late for meetings
  • Conference information

Conference ID: 4450146
Local Dial-in number: 416-343-2610
Toll-free Dial-in number: 1 866-251-2605
International Toll-free Dial-in number: 800-4444-9000

  • Road blocker for WMD removed for 2 additional machines , Ticket 2933844 is now closed
  • Status: we have 16 opening tickets out of a total of 24 – 2/3 of work to do, but the team has decided to deliver on time.

What we did


  • Getting server setup – currently working with the IBM IT department, Ticket 2935130, should be on this week


  • Closed on Ticket 2935220 – investigate what could cause memory problem.
  • Working on ticket 2935222 – write workload scenario to generate a bufferpool problem


  • Working on recursive queries now, Ticket 2939775


  • Worked with Diane to setup her machine
  • Working on scenario, Ticket to be created


  • Explored various system tables (e.g. SYSCAT), Ticket to be closed


  • Sat up her Mac
  • Met with Lenny to discuss the approach


  • Met with Danie to discuss the approach
  • Found a sample progress bar online, need review from team, PLEASE DO NOT COPY IT


  • The team will meet again on Monday to finalize the deliverable

Next Deliverable:

Feb 2 – Draft Video of a scenario, Draft version of graphical indicator

Feb 4 – Present the deliverable

Posted in FlightSim | Leave a Comment »