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
  • Executing Dynamically Generated SQL Queries from a Shell Script
    10/25/2013 1:03PM

    Following is how to generate dynamic SQL in a shell script and then execute those queries.

    Let's say, for instance, that you have a list of tables that you want to flush regularly during development and don't want to type in the SQL queries each time.  Moreover, you just want to maintain a list of the table names and add and remove from it when necessary and have your script dynamically generate and execute the delete statements.

    For the purposes of this tutorial we are running these commands as root to avoid the additional complication of authentication.

    The first thing you need is your text file with the list of your tables:





    for i in `cat tables_list.txt`

       mysql -u root dbase_name << END_SQL
       delete from ${i};
    # It is imperitive that the END_SQL redirect identifier
    # be on its own line without any leading or trailing spaces


    The script will run, will make a connection to MySQL and then execute the command with the dynamically generated target table.

    This will work with other databases other than MySQL as well.

  • Send a Text Message To Your Cell Phone From E-mail
    10/18/2013 8:38AM

    This might be old news but I came accross this today and wanted to make a note of it for myself for future reference.

    All that you need to do is address the message to the phone number @ the service prodivers designated domain that they use to convert and forward the message content to your mobile device.

    What I see interesting in this is being able to send txt messages from a system or service that encounters an error that requires human intervention.

    For example, if you want to send a message to someone on a Verizon phone, you would address the e-mail to:


    Send your message as normal, and they will get it as a SMS.

    All of the providers follow the schema of the 10-digit phone number followed by the @ and then the domain for the provider.

    Following is a list of the domains used by the major providers.  If you don't see your provider in the list the search string I used to find each was "send a text message to a cell phone from email [name-of-provider]"

    • Alltel: @message.alltel.com
    • AT&T: @txt.att.net.  To send multimedia messages use @mms.att.net
    • Bell Canada: @txt.bellmobility.ca
    • Boost Mobile: myboostmobile.com
    • Cricket Wireless: @sms.mycricket.com.  To send multimedia messages use @mms.mycricket.com
    • Metro PCS: @mymetropcs.com or @metropcs.sms.us
    • Qwest: @qwestmp.com
    • Sprint: @messaging.sprintpcs.com
    • T-Mobile: @tmomail.net
    • U.S. Cellular: @email.uscc.net
    • Verizon: @vtext.com
    • Virgin Mobile USA: @vmobl.com
  • Setting Up Android SDK and Plugin in an Existing Install of Eclipse
    10/09/2013 4:25PM

    To set up an existing install of Eclipse to do some Android development do the following:

    • Go to http://developer.android.com/sdk/index.html and look for and download the ADT bundle for your OS (in my case I was using Fedora Core 18 at the time)
    • Unpack it as the user that is going to be running Eclipse and/or after you unpack it make sure that your user has read/write/execute permissons for the files in this directory (obviously, you don't need execute permssion for non executables).  To make things easy, I just created an ~/sdks directory and unpacked it in there.
    • Fire up eclipse and go to Help/New Software.
    • Add the following repository: https://dl-ssl.google.com/android/eclipse/
    • Check off both the Developer Tools and NDK Plugins.
    • After those plugins install go to Window/Preferences/Android, and click the 'Browse' button next to 'SDK Location:', selecting the /path-to/adt-bundle-linux-x86_64-20130917/sdk.  When setting this up you might get a dialogue box that indicates that the version of the Android SDK Tools and/or Android SDK Platform Tools is not compatible with the version of the adt-bundle you are attempting to use.  In my case, I was prompted to update it via the Android SDK Manager and was able to download an updated version.

    If you have an existing project that you are working with you might have to update the project.properties to update the sdk level number.

    You might see an error like:

    Unable to resolve target 'android-17' until the SDK is loaded

    If so, update the 'target=android-17' property in the project.properties file to match the value of 'Platform.MinPlatformToolsRev' in the /path-to/adt-bundle-linux-x86_64-20130917/sdk/tools/source.properties file.

    In my case, I updated the project.properties to:

    # Project target.

    Getting the value '18' from the source.properties:


  • Showing Hidden Files and Folders Under Mac OSX
    10/09/2013 11:10AM

    By default the Mac hides a number of different Folder as well as any file or folder that starts with a "." character.

    To show all of these files/folders in the Finder open a terminal and enter teh following commands:

    $ defaults write com.apple.Finder AppleShowAllFiles TRUE

    $ killall Finder

    The Finder should restart and you should be able to see all of the files and folders on the machine.

  • Do Not Use Symlinks in Jetty's webapps Directory
    09/18/2013 4:07PM

    I set up a development instance of Jetty on my local machine and have been happily coding, compiling and deploying via a shell script.  The script copies the war from my user's target directory to the jetty users's home dir changes the permissions and then moves it to the /webapp dir creating a symlink to the name of the .war that is referenced in a number of config files.

    This was working just fine until I did a merge with another developers code and a significant portion of it changed that Jetty had problems determining whether or not is should dump it's local cache of .class files and configs and got into a very funky state.  Unfortunately, not one in which it was obviously funky, but where, all of the sudden I could not look up defined DataSources in JNDI.

    Ultimately, after looking through many other different things, I decided to delete the symlink and, rename the .war in the /webapps dir.

    Bingo, worked right away.

Advanced Search