Meditation is the Way

Life is nothing more than the way we pass through time. Basically we spend all of our time doing things. Being with people we love or hate, working, playing sleeping etc. It’s all one big thing we call our lives. As we move through life, we build up a set of things we do to pass the time of every day. Some of those are good and some, not so good. Inevitably we allow things into our lives that take up time that we are no longer willing to give up. In an effort to change this, we attempt to add new things we think will free up some the old things, but this is not the way. Continue reading Meditation is the Way

Java Notes

Remember the fear and animosity back when Oracle purchased Sun Mircorsystems and thus gained control over Java. I for one, haven’t really noticed any negative fallout so far; Although I don’t really look for it either. I’m happy with things so far and not looking for a fight. Many thought for sure, Java would fade into the background and some other language would take its place. Many have tried, even made some good ground, but Java’s write once, run anywhere claim, huge development ecosystem, both open and closed source, and its entrenchment in the corporate world, has kept it near the top.

Making a decision to learn a new language can be a daunting experience. Figuring out what is popular and will continue to be popular is not easy. Learning Java, in my opinion is a can’t go wrong move. Take a look at the official beginners tutorial, for a quick introduction and good overview to the language.

The following are just my notes on new features of recent releases of the language

Continue reading Java Notes


As a developer coming up the ranks through RCS, PVCS, CVS and SVN, learning Git is somewhat of a paradigm shift. This tutorial on Git Workflows shows how to use Git similar to a typical SVN work flow, but that just wouldn’t be a wise choice. Git comes with many new and improved capabilities that can’t be ignored.


  • Git source code version control system site has all the documentation you need to learn and understand Git. Including an entire copy of the Pro Git book, written by Scott Chacon and Ben Straub and published by Apress
  • This Git Cheat sheet provides a nice visual representation of the source code movement. Click on the different blocks to get a list of commands that can affect that block. Click on the commands to get a description of each command

Eclipse, Maven and E-Git

  • I found a great E-Git for Eclipse tutorial. Use the E-Git Users Guide for more detail descriptions of functionality. In this tutorial, it is not recommended to put the .git directory inside/under the eclipse workspace, but I find that E-Git in general is trying to avoid putting the .git directory under the project being shared. “workspace{ProjectName}.git”. (See note 1 below).
  • Sharing a local project into a git repository moves the project source code from the current workspace project directory into the location of the new local git repository. See Note 1 to control this similar to other E-Git behaviors.
  • Pushing a new project into …
  • Importing from requires the m2e connector for E-Git (see Note 2 below). Go to the Checkout as Maven project from SCM, select git, paste in the clone connection string provided by, and finish. Interesting, the directory structure in eclipse workspace is slightly different (see Note 1 below):


  • You can clone the same project more than once within the same workspace by changing the name of the project. The import will guide you through this advanced feature.

Note 1 : It is not recommended to put the .git directory inside/under the project being shared. “workspace{ProjectName}.git”. To avoid this when sharing a new project:

  1. Right-click project -> Team -> Share
  2. Check “Use or create repository in parent folder of project”
  3. Check you project within the list
  4. At the bottom of the dialog there is a Create Repository button followed by the new directory workspace{ProjectName} followed by .git. Remove {ProjectName} from this path and press Create Repository. Note that the repository will immediately show up in the Git Repositories view. Then Finish. This will produce the following project structure:


Adding a second project to this structure automatically puts the second project under SCM within the same repository. This could be an advantage.

Note 2 : In order to use Maven with EGit, an m2e connector needs to be installed. With eclipse select File -> import… -> Git -> Checkout as Maven project from SCM. Select SCM URL: type. If git is not one of the option, Click on the “Find more SCM connectors in the m2eMarketplace line at the bottom of the dialog box. Wait for the list to populate; this may take a few minutes. Select the m2e connector for E-Git and follow the prompts to finish the install.

Online Git Remote Repositories

  • GitHub is an online service for both public and private repositories. The public are free but you must pay for your private
  • Gerrit is a web based code review system, facilitating online code reviews for projects using Git version control system.


2015, A New Year

Time for another resolution? Every New Year, people around the world make promises to themselves to commit to doing something — make a good habit — they consistently could not stick to or stop doing something — break a bad habit — that’s plagued them in the past. Sounds good right? Except, statistically speaking, the odds are not in our favor. In that respect, I’ve fallen right in line with the crowd. In reviewing the page linked above, I’ve found a majority of the top ten list has been part of my resolutions in one form or another. My favorites are getting healthier, strengthening my relationships and learning something interesting. If only 8% of the 62% who try, are actually successful and 49% are infrequently successful, I figure, I should be able to beat those odds.

For years I’ve made my New Years Resolutions and put what I would consider my best foot forward to keep them, only to fall short after a surprisingly short period of a few weeks or maybe a month of diligence. While it is much easier to accomplish the small, one time, kinds of goals like “call a long lost friend” or “learn something interesting”, a resolution can spiral out of control if it involves months or years of practice like learning the ukulele or how to sing with control. Both of those, by the way, have been on my list and you won’t find my name popping up in even the most obscure Pandora station.

While I dislike rituals in general, I do like the idea of taking time to think about what I’ve been doing for the past year or so; Picking out the things that went well, like spending a few months in Southern California or paying some attention to the time wasters or things that stop me from accomplishing my goals. While there are many documented processes for setting and accomplishing goals, and many people who successfully accomplish some portion of the their list, it is without at doubt that the majority does not. That won’t stop me though, because I feel there a certain power in the act of thinking about the goals and comiting them to writing. This simple act, if performed on some scheduled basis, will impact the overall success of goal accomplishment.

This post is the beginning of my new process… Starting today I’m going review last year to identify the things I’ve done, good or bad, that produced results, intended or not. Then I will decided if I’m to continue to do them. The same will goes for those things that turned out negative or I wanted to do but did not. It is also a good time to revisit the things I think about on a regular basis and consider if I want to continue thinking about them. Gandhi said “What you think, You become” and Lao Tzu said your thoughts ultimately shape your destiny. I believe this and intend to shape my thoughts starting with the ones I don’t have to change.

To be continued…

iPad IOS has built-in VPN

Once able to get my Mac into a VPN, I quickly found a reason to do the same for the iPad. So here it goes:

  1. Goto to Settings | General | Network | VPN
  2. Add VPN Configuration
  3. Select: IPSec
  4. Description: VNC (Portal)
  5. Server: {obtain from admin}
  6. Account: {your personal account name}
  7. Password: Ask Every Time
  8. Use Certificate Of
  9. Group Name: {obtain from admin}
  10. Secret: {obtain from admin}
  11. VPN On
  12. use password

VPN From Ubuntu into Cisco Host

Since the majority of my work is done on Windows 7 systems, I needed a way to attach from Ubuntu Linux 11.10. Ubuntu’s Network application comes with a VPN client, however this does not work with a Cisco VPN host. I found this great Ubuntu Geek blog entry complete with images.

To summarise:

First you must install the Cisco VPN Client: NetworkManager which includes support for Cisco IPSec VPNs.

sudo apt-get install network-manager-vpnc

Next add a new VPN connection via the Network Connections tool. Note: I’ve deliberately omitted exact instructions to add a new VPN. The process is self explanatory and may change over time. Suffice it to say, currently the process it fairly simple and all you’ll need to complete the process is:

Gateway (Server address): {obtain from admin}
User name: (Account Name): {your personal account name}
User password: I recommend “Always Ask”
Group name: {obtain from admin}
Group password (Shared Secret): {obtain from admin}
Press Save:

One very important performance note is to make sure to check the “Use this connection only for resources on its network” check box.

RDP from Mac To PC(s)

My life and work is filled with PC’s. I know!!! Since I lived a life with PC’s and must also work with them, I have little opportunity to experiment with anything else. Being a software developer by personality and trade, the quest to be familiar with everything out there is a huge, daunting and quite expensive proposition. Especially when you begin to look at Apple. After years of trying to justify it, I rarely had any trouble with Window’s PC’s, I broke down and purchased a 13″ Mac Book Pro.

So far my experience has been less than extraordinary, Continue reading RDP from Mac To PC(s)

No Comments; A Rite Of Passage

There has been a lot of chatter in the blogosphere around the topic of allowing comments on your blog. When I first heard the idea, I was vehemently opposed. Commenting is in my playbook as a way to get notices by readers of topically similar more popular blogs. Then I ran across Matt Gemmell’s post articulating his ideas on this conundrum. Matt puts up good arguments for the blog owner to consider removing comments and a viable strategy for commenters to show their mojo. Continue reading No Comments; A Rite Of Passage

Mac OSX 10.6 has built in VPN

Seems to me, when ever I need to do something I consider as typical on my Mac, OSX has already been equipped. A fanboy friend of mine informed me that this is usually the case and if I can’t find something, it’s because I’m “thinking too hard” about it. He went a bit further and added that this is typical of Windows users and that I’ll get used to it as I become more familiar with my Mac. I listed the instruction to connect to a secure VPN for two reasons: A) To illustrate how to connect Mac OSX to VPN without installing additional software and let you decide for yourself how intuitive this is. B) If “thinking softer” would have helped?

  1. Open System Preferences and select network
  2. Click on the + (lower left) to add a new network
  3. Interface: VPN
  4. VPN Type: Cisco IPSec
  5. Service Name; VNC (Portal)
  6. Press Create
  7. Server address: {obtain from admin}
  8. Account Name: {your personal account name}
  9. Select: “Authentication Settins”
  10. GroupName: {obtain from admin}
  11. Shared Secret: {obtain from admin}
  12. Press Connect, use password
  13. Oh Yeah, show VPN status in menu bar, Click on it for control