Wednesday, 6 January 2010
Configure the ssh *client* to stay alive
http://embraceubuntu.com/2006/02/03/keeping-ssh-sessions-alive/
Friday, 27 November 2009
Resurrect screen?
You were just using screen, but now it says
dmb@dallas0 [~]# screen -r
There is no screen to be resumed.
Try this:
ps x | grep -i screen
Note the PID... and:
kill -CHLD screenpid
http://www4.informatik.uni-erlangen.de/~jnweiger/screen-faq.html
dmb@dallas0 [~]# screen -r
There is no screen to be resumed.
Try this:
ps x | grep -i screen
Note the PID... and:
kill -CHLD screenpid
http://www4.informatik.uni-erlangen.de/~jnweiger/screen-faq.html
Tuesday, 27 October 2009
"What links here" for symlinks?
Ever been frustrated by knowing that you have created a link to your `pwd` 'somewhere' on the file system, but you are unable to remember where?
Ever wished you could just hit "What links here" to discover the location of the symlink from the target?
Tough.
There is no good solution.
Here are some ugly hacks:
#!/bin/bash
for file in `find / -type l 2> /dev/null`; do
ls $file -l 2> /dev/null | grep "target" 2> /dev/null
done
or
find ./ -type l -exec ls -l '{}' \; | awk '{print $11}' | grep "target"
These 'hacks' will thrash your disk, but what are you going to do? Unless we can make a file system based on a wiki ... (imagine a history page for all your config files?) or a database ... (imagine querying for all the files greater than 1 Gb older than 1 year?) we are stuck with these... Unless you know better?
Ever wished you could just hit "What links here" to discover the location of the symlink from the target?
Tough.
There is no good solution.
Here are some ugly hacks:
#!/bin/bash
for file in `find / -type l 2> /dev/null`; do
ls $file -l 2> /dev/null | grep "target" 2> /dev/null
done
or
find ./ -type l -exec ls -l '{}' \; | awk '{print $11}' | grep "target"
These 'hacks' will thrash your disk, but what are you going to do? Unless we can make a file system based on a wiki ... (imagine a history page for all your config files?) or a database ... (imagine querying for all the files greater than 1 Gb older than 1 year?) we are stuck with these... Unless you know better?
Thursday, 22 October 2009
Perl wrapper for R
This Perl wrapper for R fills in some missing functionality (line number and context on error) and automatically 'dumps' the output of the script.
I can be improved in many ways, but here it is, as is....
I can be improved in many ways, but here it is, as is....
1. #! /usr/bin/perl -w 2. 3. unless (@ARGV){ 4. warn "\n"; 5. warn "Runs an R script with STDERR dumped to STDOUT\n\n"; 6. warn "Usage: $0\n\n"; 7. exit(1); 8. } 9. 10. my $rFile = shift @ARGV; 11. 12. die "Stubbornly refusing to run R on a file that doesn't end .R!\n" 13. unless $rFile =~ /\.R$/; 14. 15. my $oFile = `basename $rFile .R`; chomp( $oFile ); 16. 17. my $args = join(" ", @ARGV); 18. 19. if ($args){ 20. $args = "--args $args"; 21. } 22. 23. warn "Using: R $args < $rFile > $oFile.dump\n"; 24. 25. 26. 27. open ( OH, ">$oFile.dump" ) 28. or die "cant : $! \n"; 29. 30. my $pid = 31. open( PH, "R $rFile -q --vanilla $args < $rFile 2>&1 |" ) 32. or die "cant : $? : $! \n"; 33. 34. my $lineNumber; 35. 36. while(){ 37. $lineNumber++ if /^(\>|\+)/o; 38. print OH; 39. } 40. 41. close( OH ); 42. close( PH ); 43. 44. if ($?) { 45. #warn "killed by $?\n"; 46. warn "FAILED AT LINE $lineNumber\n"; 47. system("tail -n 5 $oFile.dump"); 48. exit(1); 49. } 50. 51. warn "OK (NO ERRORS DETECTED)\n";
Friday, 14 August 2009
vpnc timeout problem solved with Perl
Or ... EXPECT PAIN!!!
I've seen lots of people complaining about a time out problem with vpnc. This happens to me even if I'm ping-ing like crazy or not, so its nothing to do with activity on the connection (I think).
The problem with automatically re-connecting was the need to interactively type a password at prompt. Note that this was not my "Xauth password". For some reason my organisation requires an extra password (there are many ways a VPN can be configured).
If you just need to type one username and password, its probable that you can set up your config file to contain:
Xauth username meUserName
Xauth password meSekretPassword
With the above you could just automatically restart vpnc every time it drops out (i.e. using bash). I have this extra password to deal with though, so its a bit harder. Here is the solution achieved using Perl, Expect [1], and a lot of help from the friendly mst in irc://irc.freenode.net/#Perl
[1] http://search.cpan.org/~rgiersig/Expect-1.21/Expect.pod
Take care,
Dan.
I've seen lots of people complaining about a time out problem with vpnc. This happens to me even if I'm ping-ing like crazy or not, so its nothing to do with activity on the connection (I think).
The problem with automatically re-connecting was the need to interactively type a password at prompt. Note that this was not my "Xauth password". For some reason my organisation requires an extra password (there are many ways a VPN can be configured).
If you just need to type one username and password, its probable that you can set up your config file to contain:
Xauth username meUserName
Xauth password meSekretPassword
With the above you could just automatically restart vpnc every time it drops out (i.e. using bash). I have this extra password to deal with though, so its a bit harder. Here is the solution achieved using Perl, Expect [1], and a lot of help from the friendly mst in irc://irc.freenode.net/#Perl
[1] http://search.cpan.org/~rgiersig/Expect-1.21/Expect.pod
Take care,
Dan.
Saturday, 9 May 2009
Thursday, 18 September 2008
Subscribe to:
Posts (Atom)