Thursday, October 6, 2016

Hurricane Day from Hugo to Matthew - in memory of Kathleen and Brian Jackson

Today hurricane Matthew is bearing down on Florida. For the first time in quite a while we are facing a major hurricane and many are scared and unsure.  If you have never been through one it can be an eye opener. These events...hurricanes, earthquakes, tsunami's, they have a way of waking us up. Even if for a short period of time. We are woken out of our slumber from the activities of daily life or our routines. For a short period of time, we feel small and sometimes helpless against the forces of nature.

So as I sit here working, coding, doing my thing when I ended up in a short conversation on Slack, a messaging system we use at work. As you can imagine the topic is the hurricane, Matthew to be exact. We are all joking about hurricane parties, For the first or second timers they are asking what to stock up on. Those of us who have been through a few of these offer advice and tell everyone to not panic. And really, we don't have much to panic about over here in Gainesville as we are a good distance from the ocean. Probably all we will get is rain, wind and maybe an occasional power outage...I hope. The most important recommendation is to stock up on beer. I have my Corona.

Then the memories come. I start talking about sailboats and corona. Beaches and Islands which are always in my soul. I come full circle to an important event in my life. I mention to everyone that while I joking and believe in the hurricane party mentality I do take the storm seriously. I have a very good reason.

My mom, dad, sister and I lived on a sailboat for many years of our lives. Thanks to Brian, my step dad, we were taken on many adventures on varying sailboats throughout a 10 year period of our lives. He was a boat builder and a captain. We move and sailed a lot spending the majority of the time in the Florida Keys and the Carribean as well as South Florida. We even sailed from England to the US over a two-year period of time visiting many places in between. But, that is another story...

Fast forward to when I'm 21 and my sister Kelly is 20. I had just got home from Basic training and AIT. I had joined the US Army Reserve and had been gone for about 6-7 months with all the training. I had been visited by my mom, Kathleen and step-dad Brian about 2-weeks before up at Fort Gordon, GA. They had sailed up there and rented a car to come visit me. They weren't able to stay for my graduation because there was a storm brewing and they wanted to get further north to be sure they were in the clear. They were headed up to Charleston, SC to weather the storm as it passes.

So, a week later I'm home with my sister. We shared an apartment in Orlando, FL. I hadn't been home for but a couple days when we get a call. If memory serves it was from our grandparents. We were told that our parents, Brian and Kathleen Jackson had been killed in a storm named Hurricane Hugo. They were on their sailboat at the time, a few miles inland, up-river, which is what anyone who owns a boat knows that is what you do. You take your boat far inland for safety. Far inland...they should have been safe. Brian was a master sailor. Not in a thousand years would we thought he would make a mistake on a sailboat. Not one that would get them killed.

The sailboat was their retirement boat. With both Kelly and I off to college, they spent almost a year in dry dock working on this beautiful catamaran. When they came to see me in Georgia they had only been sailing her for a couple months or so. She had been named 'The Wave'. So the irony is that being a few miles inland, up-river and after having secured the boat best they could they were physically getting off the boat. At that moment, they were hit by a surge that traversed all the way up the river from the ocean. They were killed by a wave generated by Hurricane Hugo.

Both my sister and I had it pretty rough after that. We both drifted apart doing out own things, both lost. It wasn't until I was in my thirties that I even began a career. Kelly pretty much did the same thing. We are both good now, probably the best we've been in a very long time.

For anyone taking the time to read this, I just want to pass on one lesson that I learned. Probably the most important lesson ever. Always tell your loved one that you loved them. Never leave anything unsaid. Anyone from your life can be taken at any point in time. This is just life, death is part of it. Enjoy what you have now. Don't take it for granted. My grandparents, sister and I were all lucky. Mom and Brian had stopped and visited each of us before they were gone. We all had the chance to say 'we love you' before they were gone.

So, today and with this storm bearing down on us I felt the need to express my love and to say how much I miss my parents. I can still picture both of them on a sailboat out there somewhere living the life of freedom and travel that they had chosen.

I have this thing, I like to remember friends and family as they were. I like to remember the good memories. I avoid the funerals best I can. The last thing I want to remember about everyone are the good times. The happy times. It's all one can ask for in this life.

-Collin McGarry

In Memory of Kathleen Ann Jackson-McGarry-Kelly and Brian Arthur Jackson

Thursday, April 16, 2015

What is an angularjs directive

     At times Angular can be very confusing, particularly those of us who come from a background of 'old school' javascript. Gone are the days of a bunch of functions. Now we have things like controllers, services/factories and directives, still functions just with added layers of complexity. Finding clear definitions and understandings of what each element is for can be difficult to find on the AngularJS website. Many of the tutorials online are dated back to Version 1.2, in other words, out dated. I was looking for an accurate definition of what  a Directive is as it pertains to AngularJS and found this excellent definition on stackoverflow. I have quoted and posted a link to the original post below that. Hopefully this will help some of the newcomers to AngularJS.

What is an AngularJS Directive? 

What it is (see the clear definition of jQuery as an example)?

A directive is essentially a function that executes when the Angular compiler finds it in the DOM. The function(s) can do almost anything, which is why I think it is rather difficult to define what a directive is. Each directive has a name (like ng-repeat, tabs, make-up-your-own) and each directive determines where it can be used: element, attribute, class, in a comment.

 A directive normally only has a (post)link function. A complicated directive could have a compile function, a pre-link function, and a post-link function.

What practical problems and situations is it intended to address?

    The most powerful thing directives can do is extend HTML. Your extensions are a Domain Specific Language (DSL) for building your application. E.g., if your application runs an online shopping site, you can extend HTML to have "shopping-cart", "coupon", "specials", etc. directives -- whatever words or objects or concepts are more natural to use within the "online shopping" domain, rather than "div"s and "span"s (as @WTK already mentioned).
Directives can also componentize HTML -- group a bunch of HTML into some reusable component. If you find yourself using ng-include to pull in lots of HTML, it is probably time to refactor into directives.

What design pattern does it embody, or alternatively, how does it fit into the purported MVC/MVW mission of angularjs

Directives are where you manipulate the DOM and catch DOM events. This is why the directive's compile and link functions both receive the "element" as an argument.

You can
  • define a bunch of HTML (i.e., a template) to replace the directive
  • bind events to this element (or its children)
  • add/remove a class
  • change the text() value
  • watch for changes to attributes defined in the same element (actually it is the attributes' values that are watched -- these are scope properties, hence the directive watches the "model" for changes)
  • etc.

In HTML we have things like <a href="..."><img src="..."><br><table><tr><th>. How would you describe what a, href, img, src, br, table, tr, and th are? That's what a directive is.


Thursday, January 29, 2015

The Way of Angular

    Angular is a phenomenal javascript framework created by Google which makes the lives of us javascript developers easier...

  • Extends HTML with new attributes
  • Ideal for SPA (Single Page Applications)
  • Easy to learn

or, so I've been told...

   ...follow along as I explore some
of the core concepts of Angular.

Core Concept:

   MVC or MV*
(Model - View - Control   or  Model - View Whatever)

MVC stands for Model, View, Controller, 
a proven approach to organizing application code 
Model: That's the data; the business information of the application.
View: The HTML and presentation of the data. That's what the user sees and interacts with.
Controller: The connector that makes all the different pieces of our application work together. 
Angular likes to use MV* techniques, where the * stands for 'whatever' (often refered to as MVW). In other words, the Controller part is different to usual

Components of Angular:

Scopes & Directives:

One of the most fundamental parts of Angular is scopes. 
Scopes Explained

Scopes hold your Models (that's your data), 
    they cooperate with your Controllers, 
           and they give the Views everything they need (that's what the user sees and interacts with). 

     The first scope we'll need is the application scope, that's the scope your Angular application can operate in. This is set up in our HTML using the ng-app attribute.

Example: <html ng-app="myApp">

The name of our app is "myApp". 

The second scope is ng-controller
this will determine where our controller can operate. There can be multiple controllers within our application. Each controller will have its own scope. 

<div ng-controller="thisCtrl">

     <!-- anything in here is within thisCtrl scope -->

Both ng-app and ng-controller, are Angular directives. 
Think of an Angular directive as something that allows you to extend your HTML. 

To be continued......


- Angular:
- AngularJS Tutorial by Thinkful:

The Beginnings or the Way of a Web Developer

The beginnings... 

      I started my computer adventure with a Ti99a and a Trash80 more commonly called a Radio Shack TRS80. After that short lived adventure where I learned to program in BASIC, I was given an Apple II plus. With that I graduated to an Apple GS, opting it over the Mac. There ended my adventure with the Apples as I was convinced to get a DOS based 486 where upon delving into machine language, assembly and of course BASIC. Along with that was the modem wars with the ever pursuit of faster speeds moving from 300 baud working my way up to 56k, lightning speed! And the BBS’s!, lots of fond memories with those…then evolving to AOL. DOS died eventually to be replaced by Windows pc’s where I was mostly a gamer not really desiring to become a progammer. I was a hardware and Windows OS guy though, always the one being called to help with fixing the families and friends pc’s. So after spending many years working in the pizza delivery business I finally realized that I wanted to make a living with computers.

 The Way of a Web Developer... 

      I looked around and said, “I want to be a web developer.” Since then I have self-educated myself with the skills of being a web developer as I evolved acquiring the skills necessary to finally become an HTML5 developer. After a couple of companies and many freelance projects I have arrived at Mobiquity, Inc. Where I believe I have finally found a company I can believe in and who believes in me to achieve my desire to be a mobile app developer using HTML5.

Tuesday, November 19, 2013

Welcome to my reality

Welcome to my personal blog!

This is my central location from which I will keep the world updated on my activities, projects, other blogs and websites.

I'm into many things and many projects such as:

  • Warrior Zone which is my training group for my school and those training in Warrior Zone where we play and experiment with Ninjutsu, Combat skills, Mental training, Body weight training, Brain enhancement, Free running, etc
  • I am a Front End Web Developer
  • Mobile app development
  • Blogging and affiliate marketing
  • and so much more...
Stop by, visit often. Welcome to my reality.