Category Archives: Personal

Bits of news and information about me, myself, and I.

Adventures with Ubuntu 12.04 and Linux Mint 14 (Nadia)

Over the last week I’ve been playing around with Ubuntu 12.04 (Precise Pangolin) and Linux Mint 14 (Nadia).  Although I can appreciate Linux Mint (it is indeed very elegant), I think I will be sticking with Ubuntu 12.04 LTS for the time being.

My affection for the Unity interface that comes with Ubuntu 12.04 stems from the fact that I’ve been a heavy user of Mac OSX over the last year.  Before that, I was using Ubuntu 9.04, but the UI was heavily modified and stripped down, as I was a heavy user of the Xmonad window manager.

Having that experience with Xmonad, which is essentially a high-productivity, tiling window manager; and later working with the MacBook Pro (Late 2011) OSX environment, I’ve come to appreciate how important it is to have a powerful desktop UI that also gets out of your way.  The Unity interface follows that line of thinking, and is a real treat to work with once you start getting the hang of it.

There are some drawbacks to Unity, especially with regard to how applications are organized within the launcher, however I find that overall it will be a very rewarding environment to work in.

Luckily I have all my Vim and GNU Screen configuration files checked into version control, so it was easy enough for me to get GVim and all my other cross-platform apps up and running in my new desktop environment with minimal fuss.

Some screen shots of my desktop environment below:

The only real problems that I ran into with Ubuntu 12.04 were problems that were really hardware related. I’m running an ASUS S56CM Ultrabook, which has an oddly integrated Nvidia GT635M GPU.   So for now, I need to run my graphics intensive (OpenGL) applications via Bumblebee v3.0, however once that was set up, everything worked fantastically!

Flowers still hanging in there


To my surprise the flowers we planted in early spring are still hanging in there!


The last rainfall really helped a lot; it was starting to get pretty dry at one point earlier in the year.

Hopefully I”ll get a chance to rip out some weeds over the weekend.


It”ll be sad to see them wither away in the fall :(

Be sure to enjoy the rest of your summer!

People Getting Along

It always surprises me when people share a bit more about themselves than they realize, especially those who think themselves fairly reserved, quiet, or “better than thou”.

I find this occurs when a big change has happened (or is happening) in that person’s life; a life-changing change. Sometimes these are the only moments when you get any kind of real insight into how that person thinks and reacts under pressure, or how they truly feel about the people and the issues in the world around them.

Just finished “The Book” by Alan Watts. I like it.

I have just finished reading The Book.. On the Taboo Against Knowing Who You Are by Alan Watts.  I have thoroughly enjoyed reading this book!  It comes as close as I can imagine to a book that helps its reader truly understand the concept of existence, our world, and our “purpose in it”.

The Book (cover)

I must admit that I have had an affair with such ideas and philosophies for a very long time – and this perhaps makes the content and context of the book easier for me to grok than it would others – but it is worth the effort.  If there is anything worth doing in this world, I would image that understanding who you are, and understanding why you have the experiences and knowledge that you do, in contrast to the experiences and knowledge of others around you, to be of utmost significance and importance.

I have written a few articles under various pseudonyms over the years that explore the very concepts explained in this book, but have never really come across a published work that summarized these thoughts as clearly and succinctly as I would have liked, until now.

If you have any capacity or motivation to understand the world you live in, and you are able to free yourself (your mind) from the conditioning of your environment and your up-bringing, even for a moment, then I suggest you take the time read this book.

If you are not very familiar with Eastern or Western philosophy to begin with, then the ideas in this book may be difficult to grasp.  Nevertheless, once you’ve had a chance to explore the basics of such ideas in other writings, you would do well to circle ’round and come back to this marvelous treasure.

[Quote] Alan Watts on the difference between where we are, and where we are going..

“… To most of us living today, all these fantasies of the future seem most objectionable: the loss of privacy and freedom, the restriction of travel, and the progressive conversion of flesh and blood, wood and stone, fruit and fish, sight and sound, into plastic, synthetic, and electronic reproductions. Increasingly, the artist and musician puts himself out of business through making ever more faithful and inexpensive reproductions of his original works. Is reproduction in this sense to replace biological reproduction, through cellular fission or sexual union? In short, is the next step in evolution to be the transformation of man into nothing more than electronic patterns?”

” All these eventualities may seem so remote as to be unworthy of concern. Yet in so many ways they are already with us, and, as we have seen, the speed of technical and social change accelerates more than we like to admit. The popularity of science-fiction attests to a very widespread fascination with such questions, and so much science-fiction is in fact a commentary on the present, since one of the best ways of understanding what goes on today is to extend it into tomorrow. What is the difference between what is happening, on the one hand, and the direction of its motion, on the other? If I am flying from London to New York, I am moving westwards even before leaving the British Coast.”

– From: The Book.. On the Taboo Against Knowing Who You Are, by Alan W. Watts,  First Collier Books Edition 1967

Playing With Prime Numbers

I’ve been toying around with functional programming, and recently came across a perlmonks thread discussing multiple ways to calculate prime numbers.  One of the things I noticed about many of the examples was that almost all of them used loops of some sort (for, when, etc).  So I decided to tackle the problem without using any loops.  Instead, I’ll just use recursive functions.

Firstly, here’s the perlmonks thread: Prime Number Finder

And here’s the solution I came up with:

#!/usr/bin/env perl
use strict;
use warnings;
use 5.010;
$DB::deep = 500;
$DB::deep = $DB::deep; # Avoids silly 'used only once' warning
no warnings "recursion";
# Identify primes between ARG0 and ARG1
my ($x, $y, $re_int, $result);
my ($prime, $is_int);
$x = $ARGV[0];
$y = $ARGV[1];
$is_int = sub {
    my $re_int = qr(^-?\d+\z);
    my ($x) = @_;
    $x =~ $re_int
      ? 1
      : 0;
$prime = sub {
    my ( $x, $y ) = @_;
    if ( $y > 1 ) {
        given ($x) {
            when ( $is_int->( $x / $y ) ) {
                return 0;
            default {
                return $prime->( $x, $y - 1 );
    else { return 1; }
$result = sub {
    my ( $x, $y ) = @_;
    if ( $x <= $y ) {
        if ( $prime->($x, $x-1) ) {
            say $x;
        $result->( ( $x + 1 ), $y );
$result->($x, $y);

When running this code with larger numbers, I would eventually run into “deep recursion” warnings, which is why I’ve had to use no warnings "recursion"; and set $DB::deep to a specific value higher than 100 (which is the default). $DB::deep is a debugging variable used specifically to limit recursion depth, in order to prevent long-running or infinite recursive operations.

The method I’m using here to calculate prime numbers isn’t the most efficient, since I’m not doing anything to reduce the amount of numbers I have to test at each cycle. However, adding some extra intelligence to this, such as the filtering used by the Sieve of Eratosthenes (an “ancient Greek algorithm for finding all prime numbers up to a specified integer.”) should be doable.

I’ll be keeping an eye out for other solutions, since I’m sure there are many (especially in perl), but so far this one seems to be fairly fast and clean. I’m looking forward to what Math::BigInt can offer here as well, if anything.

Playing with Factorials, Haskell, and Perl

I’m currently making may way through a book called “Seven Languages in Seven Weeks” by Bruce A. Tate.  So far it’s been an interesting read, but I’m far from finished.

One of the things in the book that caught my eye was a recursive factorial function in Haskell, which seemed so simple, that I had to see what it would look like in perl.

So I wrote up the following perl snippets to calculate factorials.  There are, of course, multiple ways to do it as I’ll describe below.  There are also (likely) many other ways which I haven’t thought of, so if you have an interesting solution, please share.

One of the things that really caught my attention was how simplistic the syntax was for writing somthing so complex.  Recursion is a fairly simple idea once you’ve seen it in action – a function that executes itself.  However, the implementation of recursion in a given programming language can be somewhat difficult to comprehend, especially for new programmers or those without programming experience.

Although I haven’t dived into Haskell quite yet, it seems to make implementing a factorial function so simple, that I kind of stumbled when trying to understand it, thinking I was missing something.. but it was all there in front of me!

Firstly, let’s clarify what a factorial is (from wikipedia):

In mathematics, the factorial of a non-negative integer n, denoted by n!, is the product of all positive integers less than or equal to n. For example,

5 ! = 5 \times 4 \times 3 \times 2 \times 1 = 120 \


So the factorial of 5 is 120.  Or 5! = 120.   Lets look at the Haskell example from the book.

let fact x = if x == 0 then 1 else fact (x - 1) * x

The above line is saying “if x is 0, then the factorial is 1 – otherwise, call myself with (x – 1), multiplied by x”

Lets look at this in ghci (the Haskell console):

[jbl@watchtower tmp]$ ghci
GHCi, version 7.0.3:  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> let fact x = if x == 0 then 1 else fact (x - 1) * x
Prelude> fact 5

After seeing how easy it was to implement the recursive factorial function in Haskell, here are my attempts in perl.

Firstly, using a loop:

#!/usr/bin/env perl
use strict;
use warnings;
use feature "say";
my $nni = $ARGV[0] ? $ARGV[0] : 5;
for my $i ( 1..($nni - 1) )
    $nni = $nni * $i;
    say $nni;

This first example doesn’t implement a function, and is really just bad (but still working) code. It requires that your base number be global and alterable, in this case $nni.

Now, lets try it with an actual function:

#!/usr/bin/env perl
use strict;
use warnings;
use feature "say";
my $nni = $ARGV[0] ? $ARGV[0] : 5;
sub fact 
    my ($nni) = @_;
    return !$nni ? 1 : fact( $nni - 1 ) * $nni;
say fact($nni);

This second method works similarly to the Haskell implementation. It implements a function that calls itself, without any looping required.

However, it’s still not as concise as the Haskell version, so lets try again:

#!/usr/bin/env perl
use strict;
use warnings;
use feature "say";
my $nni = $ARGV[0] ? $ARGV[0] : 5;
my $fact;
$fact = sub { my ($nni) = @_; !$nni ? 1 : $fact->( $nni - 1 ) * $nni };
say $fact->($nni);

Aha, now we’re getting somewhere. In this third example, the fact() function is anonymous, and we’re assigning it to $fact via reference. This allows us to use $fact like an object with a single method that does the factorial calculation.

Although this is pretty much as concise as I was able to get it while taking readability into account, here’s a final example that goes a step further:

#!/usr/bin/env perl
use strict;
use warnings;
use feature "say";
my ($nni, $fact);
$nni = $ARGV[0] ? $ARGV[0] : 5;
$fact = sub { !$_[0] ? 1 : $fact->( $_[0] - 1 ) * $_[0] };
say $fact->($nni);

This last example uses perl’s pre-defined variable @_ which automatically holds a list of function arguments by default. I usually avoid doing this, since it hurts readability, especially for those who don’t live and breathe perl on a daily basis.

To my surprise, it would seem that Haskell has Perl beat (at least in this example) as far as readability + conciseness is concerned.

I haven’t spent much time playing golf here to reduce the number of lines or characters beyond the last example, but if anyone does come up with a tighter solution, please let me know!

Edit (20111005T22:43:50): Here’s a version I found that uses the Math::BigInt module

#!/usr/bin/env perl
use strict;
use warnings;
use feature "say";
use Math::BigInt lib=>'GMP';
my $b = Math::BigInt->new($ARGV[0]);
say $b->bfac();

This version is likely much faster, since the Math::BigInt package is intended to be used in situations where large integers are being handled.

Here’s the post I found with examples written in other languages as well: Factorial Challenge: Python, Perl, Ruby, and C

Coke Zero taste in my mouth, and my legs are rather numb

So I’m sitting here in front of my 28-inch I-INC monitor again, after the longest while. A couple of months ago we decided to mount the I-INC on the wall in our bedroom, and move the 32-inch Samsung LCD TV into the basement to serve as my replacement monitor. This was a big mistake. The reasons were relatively justified. We recently bought a 55-inch Samsung plasma to replace our now puny 32-inch Samsung in the living-room -and- I wanted to start using my original XBOX again because of other personal quest to start playing DDR again with my Red-Octane dance pad.

The Red-Octane dance pad didn’t work with the 360, so I had to use the original XBOX. However, the original XBOX did not support HDMI connectors, so I had to find a way to connect it to my monitor in the basement. Since this didn’t seem feasible, I decided that replacing my 28-inch I-INC LCD monitor with my 32-inch TV would be a good idea. Again, bad idea.

Anyway, after several weeks of utilizing an awkward 1366×768 resolution with 75 DPI fonts.. I decided it was time to admit when I was wrong, and revert back to using the 28-inch monitor (I put the 32-inch in the bedroom, like I should have done all along).

Someone Hacked My Web Server

So I just found that someone hacked into my web server recently, I’m not sure when they started poking around, but I saw some significant activity around December 17th.

I say “hacked” instead of “cracked” or defaced/damaged because I haven’t seen any actual malicious activity, just a lot of wordpress php scripts which had some eval code appended to the top.

I’ve backed up the hacked php scripts and will try to decipher them later. The scripts are basically a bunch of php evals of statements encoded in base64. I could probably decode them quickly via some perl scripts to change all the evals to print statements, and then use the equivalent of perltidy to make them readable in order to find out exactly what they were trying to do.

In any event, it’s likely they still have some backdoor set up, because it seems they got root access, or at least the ability to write a file with root permissions into the DocumentRoot, so I’ll have to keep an eye out.

I’ve upgraded the system to Lenny (was Debian etch, so yeah I’m at fault there) and upgraded wordpress from 2.3.x to the latest 3.0.4. I blew away the hacked wordpress instance, and just installed wordpress from scratch, along with some other things which hopefully will alert me when something like this happens again.

To the person responsible – I’m not running this web server as some sort of proof of my skill set, it’s simply a personal web server which I am hosting myself because I don’t very much like to be pushed into the idea of cloud computing and hosting my stuff on blogspot, etc. I think it’s good to be able to host your own applications and services, and not be tied down to services provided by Big Corp.

My message to you is this, use your head. It was probably fun to try and break in, but actions like this are what’s causing people to subscribe to cloud computing with open arms, and eventually Big Corp will be hosting everyone’s data, and the freedom that you have to learn how to manipulate PHP will be non-existent because we’ll all be stuck in AOL hell.

If you want to do something cool and interesting, why not trying using your skills to help people.

If anyone’s interested in taking a look encoded PHP, here’s what looks to be one of the primary sources: style.css.php.  Note that the script is basically all on a single, really long line, so most text editors may have trouble reading it.

Recession, War, Politics, Poverty…. Software Development?

The way things are these days, you’d think that I, like I would imagine many other people in the world, would be thinking about money, the recession, the potential for war between countries who have been flirting with the bomb, my mother and the sale of her house, poverty in Africa, and the general suckage (is that a word?) in the world.

But no, I’m not thinking about those things.  What’s on my most most of the time is software development and programming.  I’m constantly thinking about what I’m good at, what I suck at, and what I need to do to get better.  Is that selfish?  Let me answer that – yes it is very selfish, but I don’t necessarily believe that selfishness is always a bad thing (part of me can relate to Ayn Rand’s philosophy of Rational Self-interest).

The question though is not “is this selfish?” Rather, the question I’m putting out there is “is this normal?” There are enough things going on right now in my life, dealing with situations and people that I find simply unreasonable, that I’m finding it hard to identify what is “reasonable” any more, because what I see as unreasonable seems to be the norm for the majority.

So is it wrong to think about my career and personal development during times of stress? I feel it to be instinctive to focus on your strengths during times of uncertainty, but what do others out there think? Do you feel that in times of stress, you should cut away from what you’re used to and try something new, or go on vacation? Or do you believe that it’s the perfect time to share with others, give back to your community or family and try to increase your karma (if you believe in such things)? These courses of action are not mutually exclusive, but it helps to identify what needs focus if they’re not jumbled together.

If this post seems a little incoherent, it’s 1am, and my eye-lids have been drooping constantly since I started typing.
Have a good night all :)

Double Shot of Tequila

I woke up early this morning with a mission on my mind, to finally organize my server rack the way I’ve always been meaning to, but for some reason (*cough*laziness*cough*) , I never got around to it.  I had recently bought some new hardware to re-build a system which I thought was dead, but which turned out not to be.  I didn’t really feel like returning the hardware, because this was the chance to build an up-to-date server to migrate all my VMs over to, which is something else I’ve been meaning to do for quite some time.

In any case, I finally got around to re-organizing my server rack today, and I’m proud of how it turned out.  With that accomplishment in hand, I decided to install our living room air conditioner (starting to get a tad warm, especially for computer systems). I headed out to Home Depot and purchased some wire mesh, or “screen” as one of their reps called it. Last year we found that we had a lot of mosquitoes and small flies coming in through the air conditioner. Considering it was a fairly inexpensive one, I figured that I got what I paid for. I decided to turn my $100 air conditioner into a $300 air conditioner, but adding on some custom filters in order to block any debris which it may collect through it’s many open vents. The roll of mesh cost around $15, and was easy enough to cut and shape. The end result turned out better than I had expected, and so this year I expect we will have a lot fewer bugs getting in.

And so the air conditioner was installed – this too had been completed.  I was on a roll and feeling good.  I decided then to try my hand at building my new server from scratch.

I had an old rack-mount server case ((solid steel, heavy beast)) which I gutted, and started building the new server in there.  The new components included a new motherboard – the Asus M3N78-VM, an AMD Athlon 1640 CPU, and 4GB of OCZ Dual Channel SLI Ready RAM. The Micro-ATX form factor of the motherboard made it super easy to fit into the monster rack-mount case. With a few simple connections, I was ready to test boot-up, and things should have been smooth from there. It wasn’t.

The system wouldn’t power on – at all. My first mistake was that I plugged the front panel connectors into the wrong pins on the motherboard. No sweat, figured that out, and moved forward. Switched it on again, saw the motherboards “SB Power” LED come on (which was a good sign), fans started spinning, thought I was getting close, but nothing. I couldn’t get it to POST anything, no errors, warnings, or beeps at all. I decided to rip out all the peripherals and go bare-bones in order to isolate the problem. Still nothing!! Removed RAM, nothing.. Removed the CPU, nothing. So at this point, aside from being frustrated, I’ve been able to narrow it down to one of two things, it’s either the motherboard, or the power supply. The power supply should be fine, because it worked with the old hardware that I had in the case originally. However, there is a chance that the power supply isn’t compatible with this motherboard in some way.

If it’s not the power supply, then I’ve received a motherboard that was DOA. I’m hoping this is the case! I’d hate to take this thing back to Tiger Direct tomorrow, have them test it out, and find out that it’s just fine. That would be both embarrassing and frustrating.

Anyway, after all these triumphs and frustrations, I decided to finish off the night with a double shot of Tequila, and damn did it go down smooth :)

If this blog post seems at all incoherent, it probably has to do with the fact that its late, and I’m tired.  Oh, and maybe just a little to do with that double shot of Tequila.

I’m not crazy

At work these days, because I’m the only developer on my “team”, I’ve been in the situation where I’m extending (which includes extensive, and often times ridiculous rounds of debugging) other peoples code.  Many of the projects I’ve inherited weren’t written to be maintained by anyone other than the original developers.  I’ve long ago come to accept that most programmers are not passionate about simplicity and elegance, and therefore write endless reams of code that over-complicate simple problems.

Now at VMware, I do work around some severely intelligent people, but unfortunately they are not developers, so I don’t work with them.  Because of this I often times rant to them about the ridiculousness of a given situation; and they’re smart, so they understand the problem technically, but because they aren’t working with me it would be hard for them to empathize with my frustrations.

I love reading Paul Graham‘s essays every once in a while, because he seems to be able to understand and articulate my frustrations so well.  One in particular that I’ve been re-reading is Great Hackers which always makes me breathe a sigh of relief because he reminds me that I’m not crazy.

If you are a manager and have to manage a group of experienced programmers, I urge you to read that essay.  You just may prevent one of your developers from committing heinous acts of insanity.

Going to Guyana

Kaiteur Falls

At the end of December my wife, Sandra and I will be heading to Guyana for the holidays.  Sandra is Guyanese, and we will be staying with her family there.  I am looking forward to the trip, partially because I will be meeting my father-in-law for the first time, and partially because I will be visiting the birth-place of my mother and the family that I grew up with.  As many of my closest friends know, I am half Guyanese on my mothers side.

I expect this trip to be very exciting in many ways.  Aside from trying to keep from getting sick because I’m not accustomed to the environment (food/water/weather), I hope to visit some very interesting places while I’m there, especially (if all goes well) Kaiteur Falls.

Although I’m half Indo-Guyanese, I definitely don’t look it, so I expect that I will raise some eyebrows while I’m there. Hopefully I won’t say or do anything to offend anyone, and instead form a few lasting friendships. There has been a lot of crime there recently, especially in Georgetown, according to Stabroek News, so I will try to minimize my time in the City as much as possible.

It’s unlikely that I will have internet access there as readily as I have it at home, so I probably woun’t be able to provide instant updates and pictures on my adventures there (but I will try).

Sandra and I have made some very detailed check-lists about what we should take with us, and what to expect at each point throughout the trip, but if anyone has suggestions, I’d be more than happy to hear them.

I’ve been told to take a lot of “Immodium”, because my fragile Canadian stomach may not be able to handle the difference in food.

I’m sure we’ll both be fine, and look forward to all the fun and new friends that await us.

Second Presidential Debate: Obama vs. McCain


I watched the second debate last night, and I was very disappointed.

Obama kept repeating his same old attacks against McCain, and McCain likewise.

The problem I have with these debates is that they are not moderated correctly, in my opinion.

Why wasn’t Tom Brokaw controlling the debate, insisting that they answer his questions directly?  Tom should have said something to the effect of “I want you both to answer these questions without resorting to criticism of one another.  I want a debate that focuses on solutions, and on your ability to answer the questions posed by the American people, not a debate based on what you think about each other.”

Continue reading Second Presidential Debate: Obama vs. McCain

Amnesty International and Donating to an Important Cause


Every once in a while my wife and I donate to various causes, including Breast Cancer Research, Diabetes Research, and Sick Kids Hospital, among others.  However, we’ve been talking about committing to one or more causes on a monthly basis for a long time.  Finally, one of the causes that I’ve personally decided to make a monthly commitment to, is Amnesty International.

Unless you are living with your head in the ground, you know that people are all over the world are living in chaos – fearing for their lives while being mistreated by terrorist groups and governments which operate as military dictatorships.

The media, including major “trusted” news outlets, do not cover most of the mass killings and crimes against humanity which are happening every day around the world.  It is disturbing to observe and acknowledge how many people I know who are not aware of the Genocide which took place in Rwanda in 1994, where over one million people were slaughtered, with nothing more than machetes, over a 3 month period.

I believe that everyone has the right to an Education, and the right to explore opportunities for health, wealth, and happiness the same way that I, or anyone else in North America does.

Continue reading Amnesty International and Donating to an Important Cause

High Praise for Cogeco Cable

Since moving out to Burlington, I’ve had to migrate my internet connectivity services from Rogers Cable in Toronto, to Cogeco.  I’ve been using Cogeco for a little more than a year, and I so far been impressed with their services.  The connection is stable (except when there is construction going on in the neighbourhood), the bandwidth is high and consistent, and I rarely have my dynamic IP address change on me.. rarely.

Sometimes though it does happen, and it is annoying.  I finally decided that I needed a static IP address.  Conveniently enough, Cogeco offers a “Reserved IP” SOHO package at $99/month, or $85/month with a 12 month contract.  So I decided to go for it, and now I have a connection with 16Mbit download, 1Mbit upload, 3 IP addresses (1 Reserved, which essentially means “static”), and it all took me literally 5 mins to setup, with an extra 20-30 mins wait for everything to take effect.  So far, Cogeco is making me very happy :)

Thanks go to Adam Bray for giving me the heads up on this package, I think it’s definately worth it, especially if your a high-bandwidth junkie.

What Does It Take To Be A Teacher?

I’m sure that everyone at some point in their lives has had moments where they think about the goals they have accomplished, and what the future has in store for them. Taking that a step further – I’m sure many people also sit and think hard about “whats next”?

I’ve had those moments many times before, and I seem to be having one again. I am trying to figure out if IT and Programming is what I want to do for the rest of my life. I know I’m good at it, and I know that I still have moments where I’m “in the zone” – meaning that IT software development still holds an interest for me, somewhat.

Of course, having a birthday recently, and being in my late 20’s has caused me to re-evaluate the course of my life.

Of the alternatives I’ve considered to Programming, some of the more interesting ideas include teaching in a foreign country (Guyana, the birthplace of my mother and wife, came to mind). Teaching here in Canada also crossed my mind, along with Financial Planning, and helping people find jobs.

Continue reading What Does It Take To Be A Teacher?

What is a Birthday?

It’s around that time again for me, July 19th; the day the marks the end of another year of my life. Many thoughts roll around in my head on my birthday of course; some good, some not so good, some psychotic (very very few). In general though, I think it is a time for reflection on the experiences I’ve had over the past year, and (if for some reason no other time seemed right) a time to be humble and pleasant to the people and situations that surround me.


I don’t think birthdays should be all about gifts and birthday bashes involving large groups of people you don’t know. Not that these things are bad, but they are but small and relatively unimportant parts of a birthday. I do think it should be a time where you can allow yourself to be unconditionally open to positive energy and attitudes. Negative attitudes should be brushed off like dust on an old book; a minor annoyance on the surface, but only a superficial obstacle compared to the vast meaning and knowledge held within the pages of the book itself.

To all who share a birthday around this time, I implore you to take this time as gift to yourself, and use it to show the world your capacity for kindness, tolerance, and patience.

Have a wonderful, easy-going, peaceful and happy birthday.. if only in your own mind!

Looking for D&D Players In Burlington Ontario

 I used to play Dungeons and Dragons with some very close friends a few years ago, and I really miss the game. I was introduced to D&D when I was about 25 years old, which is pretty late in the game compared to the many who started playing in high school or university. I have to admit though that I thoroughly enjoyed getting together with close friends and having in-depth discussions not just about the technicalities of the game, but about pretty much everything else that was going on in the world at the time.


Since I moved to Burlington, it has been a lot more difficult for me to head out into Toronto to visit friends at all, let alone to commit to a schedule to play D&D for a few hours a night each week. Being married and working full-time as a software developer doesn’t really lend it self well to much D&D time, especially if that means driving across three cities to just to get to where the game is being hosted.

However, again, I do miss the game. So I figure that the only way to get involved in D&D again is if I get involved with a game happening locally here in the Burlington area.

Some people have suggested online RPG gaming such as World of Warcraft, Dungeons and Dragons Online, etc. But this isn’t for me. The purpose of playing games with friends for me is less about the game, and more about being around and interacting with intelligent, witty, and sometimes crazy people. It’s about socializing, something I fear has been lost in the translation from table-top games to the world of online gaming.

This is a shout out to any ladies and gents who have an interest in playing, and reside in the Hamilton-Burlington-Oakville area. Of course I wouldn’t want to jump into playing right away, because I forgot much of the rules, and would have to brush up a bit. But if you’re interested in getting a game going, please let me know via e-mail, or better yet, post a comment on this article so that others can follow along.

Re-embracing The Blog Scene

After a long and unscheduled hiatus, I am slowly influencing myself to re-engage the personal website and blogging scene. Yay!

It’s been a while since I’ve last maintained a personal website regularly. Since I joined VMware, I’ve kept myself quite busy with what I like to call “money work”. “Money work” or “work work” is work done purely for the acquisition of money in order to maintain (or increase) a standard of living. This is of course in contrast to “mind work”, “love work”, “curiosity work” or “my work” which I would collectively define as work which is done purely for its own intrinsic joy. Continue reading Re-embracing The Blog Scene

J. Bobby Lopez, VMware Certified Professional

Well, I did the course, I did the advanced training, then I did the exam… and I can now proudly put the initials VCP beside my name.. ain’t life grand?

All kidding aside, I did have a great time in Ottawa. There really isn’t that much to do there, but I didn’t have to pay for anything, so I’m not complaining.

As soon as I got back, I had to go through a week of advanced training (the stuff that you can only learn if you work at VMware). I found that material way more interesting.

Preparing for my VCP Exam

Well, only a few more days before I head out to Ottawa for a week to do my VCP training. There is a crazy amount of information to remember, but since I’ve been working at VMware for over a month now, I’ve been thrown into some pretty complicated situations and have gained a lot of experience, so I think (hope) the training will be easy for me.

After I’m done the training, then I’ll have to head out and take the official VCP exam. If I pass that, then I will officially be a VMware Certified Professional.

Working at VMware

So I’ve started my new job at VMware, and it’s great. I’m working there as a Technical Support Engineer for their ESX Systems Division. I’ve only been there a week now, but I’ve had the opportunity to do some pretty cool things, and also solve some pretty interesting problems.

I have to say, I haven’t used the VMware product (ESX, or GSX/Workstation) at all before I started working there… but the VMware software would easily fit into my DAMN COOL software category. Now don’t get me wrong, I have heard of VMware before, and was well aware of what it’s intended uses are, but there is a difference between being told what it is, and actually using it. It’s like the Matrix, you have to see it for yourself! Anyway, before I go on, I’ll just leave you with this one thought… A VMware “VM” or Virtual Machine is basically a virtualized (not emulated) version of an actual physical system. It does not just host a virtual operating system, but infact to do this, it has to virtualize the hardware as well (CPU, NIC, HD, etc..) Now if you have complete replica of a physical computer system in a “virtual world” of VM’s, isn’t it possible to run a VM within a VM? How far down the rabbit hole are you willing to go?

Montreal vs Toronto?

I recently had an interesting discussion about the difference between living in a city like Toronto, verses living in a city like Montreal. I was speaking to a woman who had been living in Montreal for over twenty-five years, and had come to Toronto in order to find work. She had three kids, was a single parent, and basically had the impression that Toronto was where she could make a living to support her kids.

However, after living in Toronto for four years, having to work three jobs, she has decided that she would rather be back in Montreal. Why? Well it seems her impression is that Toronto is “more about money” than Montreal is. On the other hand, Montreal, in her opinion, runs at a slower pace, has a lower cost of living, and generally is a much friendlier place to live. I like the sound of that, so I’m going to do a bit of personal research on Montreal to find out what other people think the differences between these two cities really are.