Thursday, April 8, 2010

jw.org download script

#!/usr/bin/perl 

our @GREEK_SCRIPTURES = qw/Mt Mr Lu Joh Ac Ro 1Co 2Co Ga Eph Php Col 1Th 2Th 1Ti 2Ti Tit Phm Heb Jas 1Pe 2Pe 1Jo 2Jo 3Jo Jude Re/;
our @GREEK_CHAPTERS = qw/28 16 24 21 28 16 16 13 6 6 4 3 5 3 6 4 3 1 13 5 5 3 5 3 1 1 22/;

my $i = 40;
my $x = 0;
foreach my $abbrev (@GREEK_SCRIPTURES) {
   for ( 1 .. $GREEK_CHAPTERS[$x] ) {
      if ($ARGV[0]) {
         next unless ($ARGV[0] and $ARGV[0] =~ /$abbrev/);
      }
      $file = sprintf "%d_%s_ASL_%02d.m4v", $i, $abbrev, $_;
      next if -e $file;
      $url = sprintf "http://download.jw.org/files/media_bible/%s\n", $file;
      print $url, "\n";
      #system("wget -nc $url");
      system("curl -O $url");
      system("rm $file") if $! =~ /No such/;
   }
   $x++;
   $i++;
}

Saturday, March 6, 2010

I do not wish my screensaver to lock my computer

In Windows XP, it really annoys me when my computer idles for a few minutes and then the screen locks. I try to be careful not to leave my laptop lying around, so I prefer my screensaver not to be password-protected.

In order to make it so that your computer won’t lock itself after a few minutes, do this:

Run ‘regedit’ to edit your registry
Navigate down the tree to HKEY_CURRENT_USER > Software Policies > Microsoft > Windows > Control Panel > Desktop and look for an entry ScreenSaverIsSecure and ScreenSaveActive.

You want to make sure the value for ScreenSaverIsSecure and ScreenSaveActive is 0 (zero).

Exit regedit; you’re done!


[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Control Panel\Desktop]
Delete the "ScreenSaverIsSecure" value.
If this comes back, you may have to use Group Policy Editor.


OR

Disable the lock workstation button


[HKEY_CURRENT_USER \Software \Microsoft \Windows \CurrentVersion \Policies \System]
DisableLockWorkstation = 1








Ultimate lock down
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Control Panel\Desktop]
"ScreenSaveActive"="1"
"ScreenSaveTimeOut"="900"
"SCRNSAVE.EXE"="(NONE)"
"ScreenSaverIsSecure"="0"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"NoDispScrSavPage"=dword:00000000
"DisableLockWorkstation"=dword:00000000

[HKEY_CURRENT_USER\Control Panel\Desktop]
"ScreenSaverIsSecure"="0"
"ScreenSaveTimeOut"="9000"
"ScreenSaveActive"="1"
"PowerOffActive"="1"
"WaitToKillAppTimeout"="7000"
"SCRNSAVE.EXE"="(NONE)"


Wednesday, February 17, 2010

one line sorting hash perl

Onliner for Sorting a hash in perl

foreach (sort { $y{$a} <=> $y{$b}} keys %y) { printf "%60s %4d\n", $_, $y{$_}; }

Major Minor code of class files

Here a oneliner for finding out the bytecode version. Based on
http://en.wikipedia.org/wiki/Class_(file_format)

perl -pe 'open(FILE,$_);binmode(FILE);sysread(FILE,$buf,2,6);close(FILE);@c=unpack("H*",$buf);foreach(@c){$s.=sprintf "%s",ord($_);};$_=$s'
or
import java.io.*;

public class ClassVersionChecker {
    public static void main(String[] args) throws IOException {
        for (int i = 0; i < args.length; i++)
            checkClassVersion(args[i]);
    }

    private static void checkClassVersion(String filename)
        throws IOException
    {
        DataInputStream in = new DataInputStream
         (new FileInputStream(filename));

        int magic = in.readInt();
        if(magic != 0xcafebabe) {
          System.out.println(filename + " is not a valid class!");;
        }
        int minor = in.readUnsignedShort();
        int major = in.readUnsignedShort();
        System.out.println(filename + ": " + major + " . " + minor);
        in.close();
    }
}

Aliasing and passing arguments in Bash

rssh() { xargs -i\{} -t ssh {} $@; }

Usage after setting the function:
$ cat list | rssh 'command'

Thursday, February 11, 2010

bash PS1 setup

export PS1="\h \W$"

\w - absolute path
\u - user
\v - version of bash
\s - shell environment

Friday, January 8, 2010

running scripts from an open wsadmin session

I would like to execute individual scripts from my local library, but rather than executing each individual script with the WebSphere overhead (i.e.wsadmin -f myscript.py).

The test file test.py

def main(args):
print AdminControl.queryNames('*')
print args
#enddef
# main method
main()



Next running the test script from an open session

$ wsadmin -port 8081 -host myhost -username memyselfandi
WASX7209I: Connected to process "WasPAdmgr" on node wasdpAdmrNode using SOAP connector; The type of process is: DeploymentManager
WASX8011W: AdminTask object is not available.
WASX7031I: For help, enter: "print Help.help()"
wsadmin>execfile('test.py')



# # This script can be included in the wsadmin command invocation like this:
# # wsadmin -lang jython -f test.py serverX nodeY c:/applicationZ myapp
# #
# # or the script can be execfiled from the wsadmin command line like this:
# # wsadmin> execfile ("test.py") or execfile("test.py")
# # wsadmin> test("serverX", "nodeY", "c:/applicationZ", "myapp")