recent tweets

twitter: feed not found (158 posts)

MesarHameed: RT @TopologyFact: Algebraic topology online course
twitter at teatime on Thursday, June 6th, 2013
MesarHameed: RT @bramduvigneau: Want to improve Talkback for Android? Vote on this ticket to ease the development of patches
twitter in the wee hours of Wednesday night, June 6th, 2013
MesarHameed: Looking forward to trying out the maltron 3d keyboard thanks to Martin from @pcdmaltron for great service. #a11y #RSI
twitter Tuesday afternoon, June 4th, 2013
MesarHameed: @pitermach yes, that would be very welcome. Polish #nvdasr localization hasn't been maintained on a regular basis.
twitter Tuesday afternoon, June 4th, 2013
MesarHameed: @ondrosik If you have time to correct the file I will commit the modifications. @pitermach
twitter Tuesday afternoon, June 4th, 2013


We have a stable Linux setup, and find ourselves wanting to install/upgrade additional packages for testing purposes. We want to keep the system as clean as possible with minimal side effects, to allow for the usual upgrade path to work correctly. Of course, the usual answer is to use /usr/local, but that just means we have reduced the potential tangle somewhat, and moved it to a different place, i.e. no package management under /usr/local.

Enter stow

Stow is designed to solve this problem. We install the package to /usr/local/stow/package-version and stow will manage symlinks in /usr/local, so installing/uninstalling becomes very straightforward.


Install to /tmp/testPackage-version just incase of a miss-behaved installation procedure/side effects. This way if it tries to write elsewhere it will error out and we can investigate.

$ cd testPackage
[testPackage] $ ./ --prefix=/tmp/package-version
[testPackage] $ ./configure; make; make install

If everything succeeded, we can proceed.

[testProject] $ cd /usr/local/stow
[/usr/local/stow] $ sudo mv /tmp/testPackage-version .
[/usr/local/stow] $ sudo stow testPackage-version

At this point, the package is installed and ready for use.

To remove

[/usr/local/stow] $ sudo stow -D testPackage-version

Be careful of installing multiple versions at the same time, it is safer to remove older version using stow -D then installing the newer version.

Posted late Sunday morning, May 5th, 2013 Tags:


NVDA addon creaters often start with an svn repository, then wish to migrate to git, I have been asked to write up step by step instructions for the migration, so here it is, incase its useful, mostly rephrasing of steps in 1 and 2.


  1. Make a directory called convert to hold our work until we are finnished, the rest of the instructions assume that we are inside this directory.

  2. Find out the names of the committers of the project, so that their svn usernames can be mapped to name/email addresses. In an existing checkout of the repo:

      $ svn  log | grep -P "r[0-9]* \|" | awk -F\| '{print $2}'| sort | uniq >users.txt
  3. Edit users.txt to have this format:

     svnUsername1 = realName1 <email1>
     svnUsername2 = realName2 <email2>
  4. In the command line, we write the command:

     $ git svn clone --stdlayout --no-metadata -A users.txt https://svnRepoUrl/repoName 

    It will slowly download and convert., when its back to command prompt it should have checked out everything.

  5. from our file browser in our convert folder, we can now see a folder with the repository name, and inside it is everything that is inside trunk in our svn. We cant see branches or tags, this is normal in git.

  6. lets see what branches we have

     $ git branch -a
     * master

    Some of the svn tags show up as branches, so lets just create git branches for the real svn branches, master is already trunk, and the others are our tags, so we only need to create one branch.

      $ git branch detectContextMenu remotes/detectContextMenu
  7. now fix the tags

     $ git tag v2.0 tags/2.0
     $ git tag v3.0 tags/3.0
     # see what tags we have:
     $ git tag

    should now show vv2.0 and v3.0. Now our branches and tags are correct.

  8. On bitbucket or github create new empty repository, without readme or anything, bitbucket in this example.

  9. tell git we have a remote called bitbucket and make it our default

     $ git remote add bitbucket
     $ git config master.remote bitbucket
     $ git config master.merge refs/heads/master
  10. push all our branches and tags to it, first push master branch, then everything else.

    $ git push --set-upstream bitbucket master
    $ git push --all --tags
  11. Remove all references to svn:

    $ git config --remove-section svn
    $ git config --remove-section remote-svn.svn
  12. Remove svn repository from assembla or wherever.

Posted late Tuesday afternoon, November 27th, 2012 Tags:


Older posts has been archived, view the archive or browse by tag to locate further content.