Tuesday, January 31, 2012

January 2012 GRC Meeting

Since I am active around UVic as the CUPE (local 4163 comp 1) Exec and GSS Rep I figured I may as well cross post the updates from those activities to my blog.  Yeehaw!  Now I will be ignored by that many more people!  Anyway here is my latest GSS update:


Are you interested in running the GSS for 2012-2013?  The nominations  for the executives are open (also it pays better than a TA and looks great on a CV).  Maybe you want to learn more about how the University is governed?  In that case run for the University Senate or Board of Governors (I can get you some more information about the application process if you are interested but the deadline is tomorrow!).


Are you about to graduate and are wondering how to deal with the real or academic world out there?  You may be interested in pathways to success a two day seminar (next one is over spring break) on how to find and score a job.


Finally did any of you apply for (and possibly get) a GSS travel grant?  Could anything be changed to make the grants better?  Was there anything particularly awesome about the grant?


If you made it this far you must really be interested in the GSS so let me tell you that we are also working together with UBC and SFU to get the provincial government to create a BC provincial graduate student fellowship program.  We formed a committee with members from the other universities, I'll keep you posted :)


Last but not least: Sarah is considering taking over for me as the Astro & Physics GSS Rep, so the next email of this sort may be coming from her.  The GSS Rep is dead.  Long live the GSS Rep!

Wednesday, January 11, 2012

Autotools

If you want to get started using autotools for you build environment may I suggest this excellent article?

Tuesday, January 10, 2012

Indexing Non-Standard Include Paths In Eclipse

If you are using software packages such as ROOT which tend to be installed in non-standard paths but still want your Eclipse IDE to index them (for handy code completion features and the like) here is how to do it.  Unfortunately I have not found a way to include these globally (please comment if you have such a solution) but for each project separately.  Right click on your project, hit Properties and select Paths and Symbols under C/C++ General (for C/C++ code).  In the Includes tab add the extra path for the appropriate language.

Git: New Repository From A Subdirectory

Suppose I have this repository layout to start with
XYZ/
    .git/
    XY1/
    ABC/
    XY2/
And I want a new repository for ABS only, here is the excellent answer from over at stack overflow.

You want to clone your repository and then use git filter-branch to mark everything but the subdirectory you want in your new repo to be garbage-collected. To clone your local repository:
 $ git clone --no-hardlinks /XYZ /ABC
The --no-hardlinks switch makes git use real file copies instead of hardlinking when cloning a local repository. The garbage collection and pruning actions will only work on blobs (file contents), not links.
Then just filter-branch and reset to exclude the other files, so they can be pruned:
 $ git filter-branch --subdirectory-filter ABC HEAD -- --all
Then delete the backup reflogs so the space can be truly reclaimed (although now the operation is destructive). The -- --all keeps the project branches and tags included in the the new repo.
 $ git reset --hard
 $ rm -rf .git/refs/original/
 $ git reflog expire --expire=now --all
 $ git gc --aggressive --prune=now
and now you have a local git repository of the ABC sub-directory with all its history preserved.