Posted in Family, General

A great letter from a blogger to her 16 year old son.

Dear Teenager,

Sometimes life doesn’t seem fair. Do you know why? Because it isn’t.

But here’s a little something I’ve learned in my 43 years on this earth… life always gives you exactly what you need in order to learn the next lesson.

That’s what it’s all about here — stretching, growing, becoming who we are meant to be. Some learn more quickly than others. Some need many teachers and extra review tests. (Yes, I’m one of them. Your Dad will attest. You remember “Buffalo Math,” don’t you?) Some get it on the first try, but not many. We grow most from our challenges and roadblocks. Embrace them. Lean in.

I understand there are things in this life that you want, things that can only be purchased with money we may or may not have at the moment. I know you see other kids doing things you’d like to do — traveling extensively, attending expensive sports camps, buying top-of-the-line golf clubs. I know what it feels like to want what others have. Believe me, I get it. From the top of my head to the tips of my toes, I understand. I’ve lived it. I grew up surrounded by many who had “more” than I did, who had the privilege of seeing places I would only experience through my beloved books, to purchase things that were not even long-shot considerations in our very limited household budget.

Wanting more than you have is a tough gig. It always leaves you feeling unfulfilled, gypped, less than.

But you are none of those things.

You’re vibrant, smart, witty, handsome, larger-than-life, full of untapped potential.

It’s all in how you choose to see with those stunning baby blues of yours.

This life is not about keeping score. It’s not about she-got-to-go-to-camp-but-I-didn’t or he-got-a-phone-when-he-was-eleven-and-I-had-to-wait-till-I-was-thirteen. Keeping score that way is exhausting and fruitless. You see, my boy, life changes, circumstances evolve, nothing stays the same. What happened to you when you were fourteen is not what will happen to your brother when he’s fourteen.

You are not him. He is not you. You are both uniquely blessed individuals traversing your own paths to happiness and success. Separately, but side-by-side.

Do you see that path? The one with the light and the promise and the possibility? Take that one.

Take the one in which your vision allows you to see what you do have instead of what you wished you had. Leave that other path unexplored. Don’t give it one more second of your precious time or energy. Don’t look over your shoulder with a wistful glance. Forge on, son. Forward motion.

Sure, you’re going to trip and fall occasionally. You’ll skin your knees and twist your ankles and stub your toes. Perhaps your internal compass will malfunction and you’ll lose your way. Get back up, get on the path, dust yourself off, and go. You’ve got places to be, things to do, lives to touch, miracles to make.

If you really want something that only money can buy, go get a job and pay for it. You have a car. You have the means. You have a million opportunities that so many others don’t. Think about that reality for a second. You can work. You have a strong, healthy body and a fully-functioning brain. Go work. Everything feels better, tastes better, works better, fits better when you’ve earned it with your own two capable hands.

And when you’re done with your after-school shift, go volunteer in a soup kitchen. Pour some sustenance into the bowl of another man, one whose life circumstances have not been as kind and forgiving as yours. Offer an apple to a child with dirty fingernails and unwashed clothes. Tuck a $20 bill — one you just earned — into the hand of a Mama whose clingy brood is crying and hungry and tired and in need of a small kindness.

Then look at your life again.

I promise you’ll see things differently. Everything will be brighter, better, full of options that you hadn’t noticed before.

We’re not millionaires. We might never be. Or we might. Life is funny that way. Money, however, won’t change who we are or how we choose to live. Things don’t change us. Not if we’re running at full tilt and without regret. Things never really matter in the long run, anyway. They wear out, get broken, need to be replaced and repainted. But love? Accomplishment? Bravery? Fortitude? That’s what matters, that’s what sustains.

This family is blessed beyond comprehension. We know warmth in the winter and cool air in the heavy heat. We’ve dug our toes into sandy beaches and hiked through mountains. We sing and dance in the kitchen before we eat the food that more than adequately fills our bellies. We have tried and true friends who offer us their pillows and their hearts and their unconditional support. And laughter. Oh, laughter. We love each other in this little circle of goodness. That doesn’t mean we always like each other, but there is love, always. More love than you can even begin to wrap your overachieving 16-year-old brain around.

Life is tough. Life is unfair. Some will have what you want. Others will get what you think you deserve.

Life is also beautiful and fruitful and unlimited. Look at that life, see those possibilities. Live there. Grow and flourish in that space.

The choice, always, is up to you. Choose wisely, my brave, kind, brilliant, unstoppable son.

Choose half-full, where there is always room for more.

Choose big.

Choose yourself.

I love you with all my heart because all of my heart expands for those who want in. You don’t get a quarter or a half or a third. You get it all. So does your dad. So do your brothers. So does your sister. Love is funny that way. It multiplies exponentially.

Just like the blessings you choose to embrace.

XO, Mom

Posted in Coldfusion, Web Development

Send an Email using CFScript

	savecontent variable="mailBody"{   
		writeOutput('<h1>Hello!</h1><p>Tada it works.</p>');  
	/* create mailer service */  
	mailerService = new mail();    
	/* set mail attributes using implicit setters provided */  
	mailerService.setSubject('YOUR SUBJECT');  
	/* add mailparams */  
	/* send mail using send(). Attribute values specified in an end action like "send" will not persist after the action is performed */  
	mailerService.send(body=mailBody);  writeoutput("<h3>Thank you</h3>" & "<p>Thank you, " & mailfrom & "<br>" & "Your message, " & subject & ", has been sent to " & mailto & "</p>");
Posted in Coldfusion, Snippets, Web Development

XSS Additional Protection

This is a snippet of code from one of my applications. It’s not a stop-all, but it’s a good start.

//XSS protection
   whiteListReserved = "!|*|'|(|)|;|:|@|&|=|+|$|,|/|?|%|##|[|]";
   whiteListUnreserved = "A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|0|1|2|3|4|5|6|7|8|9|-|_|.|~";
   whiteList = listappend(whiteListReserved,whiteListUnreserved,"|");
   qString = URLDecode(cgi.query_string);

   for(i=1;i lte Len(qString);i++){
    Get the character at the given index. The ColdFusion Mid() function takes the string, the starting index
    and the number of characters to return. In this case, we only want one character, so the length is one.
    strChar = Mid(qString, i, 1 );
    if (listFind(whiteList,strChar,"|") eq 0){
     writeOutput("<script type='text/javascript'>alert('#strChar# is in violation of xss rules.');</script>");
     //Here I have a session variable that I toggle based on a user being authenticated. not super relevant to this posting.
     Session.isAuthenticated = 0;
     url.msg = "There is a security violation within your request. Your session has been reset. Please log back in.";
Posted in Coldfusion, Snippets, Web Development

Restarting your Coldfusion Application without restarting ColdFusion

To restart you application place the following line of code in your Application.cfc within the OnRequestStart function.


Now anytime you pass the URL string “restart” your application will restart. Obviously you can use whatever method you chose, but this will point you in the right direction.

Posted in General


So I’ve decided to pay it forward and share some of the things I’ve collected and learned along the way. I’m not a great writer, but I hope you at least find the topics and banter interesting.  I don’t always know the line by line details to how certain code works, but I do tend to get things done. Along the way you may read some football (Soccer) banter as I am an avid Arsenal fan and grew up loving the beautiful game. Finally my family means everything to me so now and then I may post some personal stuff up here for your entertainment. If you have constructive feedback please feel free to share your opinion, but be considerate and remember we are all people with families, reputations and feelings.