Saturday, December 29, 2007

Force those windows to become visible

HOO-ah! I have finally found the utility I have so long sought!! I have had the problem of loosing windows after un-docking my notebook which is connected to a secondary monitor at work. Some programs are real smart and reposition themselves to the primary monitor, other programs can be persuaded to the primary monitor with the "ALT-SPACEBAR M" trick. Then we have the stubborn ones that refuse to budge. Now finally I have found the tool to force these programs onto the primary monitor: ForceWindowVisible !

How come that Google only gives 4 hits when asked to lookup "ForceWindowVisible"?!?

Wednesday, December 19, 2007

Debugging stored procedures in SQL Server 2005

I have been using the SQL Server Business Intelligence Development Studio to debug some stored procedures that I work with. It seems impossible to view the content of the temporary tables during debugging sessions. This fact limits the tool's usability severely for me :(

Why is it so difficult the get a confirmation of this limitation searching the internet??

Now I made the temporary tables permanent (removed the #) and manually drop them after each debugging session.

Tuesday, December 11, 2007

Using branching in Subversion

For small changes a developer will typically work directly on the trunk, but for bigger changes the developer will typically work on a private branch. This is best done in the following way:
  • Create a branch (at the trunk-level) and name it something like aris-private-branch.
  • Select the part of the trunk's sub-tree that will be affected by the branch and svn switch that sub-tree to the new branch
  • Make changes locally and test them
  • Commit the changes to the branch
  • When all is done, merge the changes to the trunk:
    • svn switch back to the trunk's sub-tree
    • svn merge using the initial revision of the branch and the head revision of the branch
    • Commit the changes (it is prudent to check that you are not eliminated other people's changes that were done to the trunk while you were working on your private branch)
    • Delete the private branch (through the repo-browser)

For changes spanning a long time, it might be necessary to merge from the trunk to the branch to incorporate other developers' changes. In this case it is simplest to keep track of the revision number of the merge from the trunk so that next time only changes in the trunk from the last merge are merged to the branch.