Life with Martial Arts

Just want to take a moment and share with you something that means the world to me.  I am 43 years old.  About 23 years ago I had started taking Tae-Kwon-Do classes at my local Do-Jang (School).   I ended up following that up with Hapkido and in college, Judo and Aikido.   I was doing really good, then my money ran out.  The college classes ended, and I quit the TKD studio.

I missed it.

Flash forward 20 years, I’m married now, a father of three beautiful girls, very much out of shape and overweight.  But that little voice has always been there and that desire to complete that task that I had started 20 years before.   Well,  my little girl “won” a month of classes at our local Karate school.   They took classes and I couldn’t help but notice how much fun they were having.   In that school, Dad’s are free in January.

So here I go, 40 years old, 300+ lbs and I took my first steps.  It’s hard, it’s challenging, you cannot expect results overnight, but just keep moving.  I had equated it to a freight train when it first starts to move,  it requires so much effort.

Guess what…

Like a freight train, once it’s moving, once your moving, it gets less impossible.   Notice I didn’t say “easy”.  It never gets “easy”.  But you start to realize that, hey, YOU can do this.

Whether your 6 years old or 60, don’t give up on yourself.  Starting to move is the hardest thing you’ll ever do.

Flash forward 3 years to today.  Next month, I will be testing for my black belt.  My 23 year old dream is in my grasp.

Martial Arts for me is a huge stress relief.  In the right school, you’ll find out quickly, it’s not about hurting others, it’s about lifting each other up.   It’s about others showing you what true grit you have.

If you’re sitting there now, depressed, angry at yourself, or just feel “ugh.”  Do some research, find the right school and start.  Once you start, don’t ever stop…

Learn from my experience… YOU CAN DO THIS.




I’ve had a great time at Knowledge15. There are some really cool things coming up with Geneva. ServiceWatch is taking Discovery in a new direction, and there’s definitely a trend from computers to phones and now watches. We’re being freed from the confines of our desks. AngularJS is going to save us a lot of time coding CMS front ends.
It’s truly an exciting time.

So I’m curious, if you had a magic wand and you could make one thing happen within Service-Now, what is the ONE thing you would improve?


So, it’s official, I’m certified crazy.  Well, not quite.   I finished the Implementation Specialist Certification, a 90 minute test, in 30 minutes and passed!  Now I’m officially a Certified System Administrator as well as Implementation Specialist.

I have to plug my place of employment.  I get to work with a small group of really intelligent gentlemen who just kick butt with Service-Now.  

If you have any admin or implementation needs, check us out.


Cleaning Up Email Responses

Here is a cool trick I developed at some point.

This strips out the inline appendage most email systems put at the end of a reply, so all you get is the update, makes the work log much cleaner and easier to read…


if (current.getTableName() == "incident") {

var body = email.body_text;

// Look for the 'From: System Email' tag, so we can strip off the chain.
// The -6 is added to remove the “From: “ portion of the message.
var beginInbound = body.indexOf(gs.getProperty("")) - 6;

if(beginInbound >= 0) {
// Strip off the original message and trim the whitespace.
body = body.substring(0, beginInbound).trim();

current.comments = "reply from: " + email.origemail + "\n\n" + body;
current.work_notes = "Inbound Email Response from " + email.origemail;


The Session Stack

Many, many thanks to Chris Czerniak and Orlando Carattini at Service-Now for this one.

One of the really handy features of Web Servers is the ability to take a value and place it into memory.
The value is then maintained in memory for the life-cycle of the request, session or application.

So how does this play into Sevice-Now?

First a little history. My company has a lot of integration with various systems. To assist the business process, we expose “external links” in the left-hand nav menu through Service-Now for these integrations.

We are a MSP of MSPs. We brand our services for our customers. One aspect of this branding is showing the customers of our customers a unique view to Service-Now and these external systems.

This branding is done via URL, so the menus within Service-Now need to point to a different URL for each MSP we service.

We originally wrote a function in a script include that looked up the user’s company and domain and returned the url for that domain. The problem with this is each menu item rendered sucks up about 0.7 seconds to make the call to the function, do the various queries and return a result. There are 16 menu items, so it took about 11.2 seconds to render the external menus alone.

Here’s where this next tid-bit comes in handy, the user preference stack.

When you log into the system, your user preferences are stored in the session stack.
This is the object that is returned by gs.getUser() in your scripts.

The interesting thing about this object is that it can be manipulated.

Here is a sample script for user preferences. You can test it in scripts background.

//set a preference for current session id
gs.getUser().setPreference("test","hello Current User");

Now back to my dilemma. 11.2 seconds is a terrible experience to the users of the system.
I needed to make the screen load faster. Since the value returned from the function was the same for each menu, it made sense to put that value in memory on the first run then just pull it from memory for each subsequent runs.

Wouldn’t you know, I took that load time from 11.2 seconds, down to 2 seconds.

Killing Rogue Sessions

System Administrators

How to do it:
In QuickNav type in ‘Active Sessions’. This option may not be available in some systems.

Check the session you want to kill. In the list drop down menu, select ‘Kill”.


This can be helpful terminating sessions that are taking longer than expected or are causing undesirable results.

These tips and tricks are to give you more power to handle the tasks that you may face developing and maintaining the Service-Now application. Use them at our own risk, and by all means use them in a “sand box” environment first. With great power, comes great responsibility.