Monday, November 23, 2009
git clean
Saturday, November 14, 2009
Adding All Subfolders to the Path in MATLAB
This is a quick tip:
addpath(genpath(pwd))
adds the current dir and its subfolders (recursively) to the path in MATLAB.
Thursday, November 12, 2009
Git GUI Fails to Load on OS X and How to Solve It
I don't use git gui much, I mainly prefer the command line or magit or GitX, but git gui might be useful sometimes, especially with the OpenInGitGui Finder extension.
When installed, git gui by default doesn't work (at least on my Macbook running Leopard); and fails with the message:
dyld: Library not loaded: /Library/Frameworks/Tk.framework/Versions/8.5/Tk Referenced from: /usr/local/git/share/git-gui/lib/Git Gui.app/Contents/MacOS/Wish Reason: image not found error: git-gui died of signal 5
Clearly, the Tk framework 8.5 is missing and can be downloaded from here. (Also see here) Once that is installed, everything works properly.
Thursday, November 05, 2009
Connecting to ssh servers running on non-standard ports
If you are running your ssh server on a port different than 21, for example 22, you can connect to the machine like this:
ssh mymachineip:22
or
ssh mymachineip -p 22
However, there is an easier way:
Create the file ~/.ssh/config, then fill it like this:
Host mymachineip
Port 22
Now you can just ssh to the machine: ssh mymachine
Monday, November 02, 2009
Reconnecting to a screen session
When there is only one screen session, screen -raAD attaches to the running screen. So far so good.
However, if for some reason, there are more than one screen sessions, (screen -ls should give you those), screen suggests that you need to do screen -r [[pid.]tty[.host]] to reattach.
However, this simply doesn't work at first and yields weird errors like:
There is a screen on: 5541.pts-1.shannon (11/02/2009 04:40:02 PM) (Attached) There is no screen to be resumed matching 5541.pts-1.shannon.
This is utterly confusing, since it first says that there is a screen, but there is no screen to be resumed. What this means actually is just that however: one first has to detach that screen in order to attach to it. So, yes, there is a screen and that screen is not a screen one can connect directly.
The solution is to give the -d parameter to detach it at first, so
screen -d -r 5541.pts-1.shannon
should work. In fact, I guess screen -r -d 554 works too. That 554 portion has to be unique though, so screen -r -d 5 works too if no other screen session starts with a 5.
Sunday, November 01, 2009
Some Git Tips
- git add -u to add all modified files in the index.
- git checkout -f to trash all uncommitted changes. Useful before pulling.
- git stash as an alternative to above.
- git diff --cached to see the added changes.
- git rebase to squash multiple commits into a commit before pushing. Rebasing is useful for other stuff, but that needs more exploration. git rebase -i origin/master to merge all unpushed commits.
- git commit --amend might be an alternative for that as well.
- See here for some other tips.
Friday, October 30, 2009
How to make forward-word, backward-word, treat underscore as part of a word?
(modify-syntax-entry ?_ "w" matlab-mode-syntax-table)
Batch Conversion of Image Files
find -name '*.eps' -exec convert {} {}.png \;
However, there is an easier command:
mogrify -format png *.eps
will do the job more elegantly. Using the -path png will output the images in a folder named png instead of the current folder.
Imagemagick has some other useful commands:
- display : Displays the image
- montage : Concatenates several images
- animate : Animates several images
man imagemagick for more.