Welcome to my website. I am always posting links to photo albums, art, technology and other creations. Everything that you will see on my numerous personal sites is powered by the formVistaTM Website Management Engine.


  • Subscribe to this RSS Feed
  • Generate a Randome String of a Specified Size with a Shell Script
    06/24/2015 12:48PM

    The following is a one-liner for generating a random string of a fixed size in bash, where the possible characters to use in the string are any digit, letter, and a newline.

    By adding the newline, you are fairly sure to prevent getting one long line of text.

    $ < /dev/urandom tr -dc "[:digit:][:alpha:][\n]" | head -c1000 > file.out

  • Connecting To a Test Kitchen Instance Via SFTP, SSH, or SCP
    06/23/2015 5:25PM

    If you are using Chef and Test Kitchen to test your cookbooks you may have need to connect to the Test Kitchen VM in some other fashion other than $ kitchen login instance-name.

    To do so:

    Do a $ kitchen list to see the running vms

    $ kitchen list
    Instance                      Driver   Provisioner  Verifier  Transport  Last Action
    default-centos-66             Vagrant  ChefSolo     Busser    Ssh        Converged

    Then look in the .kitchen directory from where you ran your $ kitchen command and look for the corresponding .yml config file for the vm

    $ ls .kitchen
    default-centos-66.yml  kitchen-vagrant  logs

    Inside the .yml file for the vm is the path to the ssh key

    $ more .kitchen/default-centos-66.yml
    port: '2222'
    username: vagrant
    ssh_key: "/home/rchapin/.vagrant.d/insecure_private_key"
    last_action: converge

    With that, just use the -i argument to point to the identity file and sftp to the box

    sftp -P 2222 -i /home/rchapin/.vagrant.d/insecure_private_key vagrant@

    If the VM prompts you for a user name when logging in, you can always login via kitchen, change the password for that user and then retry

    To login via kitchen issue the following command:

    kitchen login default-centos-66

  • Setting the Compiler Version for Maven from the Command Line
    06/18/2015 10:42AM

    By default maven sets the compiler version for you.  Of course, you can always set it in the pom, but there are cases where you cannot modify the pom, and/or you might want to test compilation and tests with different versions of java.

    Following are the specific arguments to pass the compiler version to maven from the command line:

    $ mvn clean install -Dmaven.compiler.source=1.7 -Dmaven.compiler.target=1.7

  • An Excellent Article on finalize in Java
    06/08/2015 3:40PM

    From Joshua Bloch's Effective Java, 2nd Edition.

    A good read for any Java programmer.
  • Writing a BASH Script to Read from STDIN to a Variable
    05/15/2015 1:33PM

    Let's say you have some program that is generating output to STDOUT and you want to write a script to read that output from STDIN and use it as a variable in your script.

    To do so:



    echo "SOME_VAR = $SOME_VAR" 

Advanced Search