The Power of the Story

I hear it all the time in the entrepreneurial circles I run in: the most successful are those who can relate to others through storytelling.

Sometimes I think that the gift of storytelling is a natural talent, and if I don't have it then, well, I don't have it. But this is just a Brick Wall I've constructed for myself, isn't it? And I'm learning to bust through those reading Just Blow It Up. But even when I've busted through the wall, there's still skill development to be done.

This article showed up in my Zite app today, and it's got fantastic advice for enhancing your storytelling. The emphasis is on writing, but the same concepts apply to spoken stories as well. You know, like your elevator pitch, your business presentation, or anything else you need to use the spoken word in order to "sell" yourself.

My most important takeaway? Item #3: Cut. I often find myself saying "to make a long story short" or "sorry that was so verbose". Well, guess what Craig: by that point the story is gone anyway. I need to make the long story shorter to begin with, not apologize for the long story! So my focus over the next week will be performing the cut. Fewer, more impactful words!

Hope this help!

Another Wonderful List

While browsing the Zite app on my phone today, I ran across the article 23 Priceless Habits That Will Make You Your Greatest Self. I was quite skeptical about what I'd find inside but opened the article anyway. And I was pleasantly surprised at what I found (otherwise, I probably wouldn't be blogging about it!).

One thing I'm going to do is to turn this list into a new set of self-talk. It's good to refresh your inner dialog on a regular basis, and lists such as this one give you the opportunity to discover new material.

For example, habit #5 (which really hits home with me as I inch closer and closer to the big five-oh):
5. Look ahead when you walk, hold your head high and observe the world around you. Do not let life pass you by because next thing you know you’re going to be reading a blog (or watching on some sort of holographic projection) on things to remember in your fifties.
 Could be expressed with the self-talk statement:
I always look ahead and hold my head when I walk. I'm observant of what's going on around me, and I make sure life doesn't pass me by unnoticed.
By far, my favorite is #7, "Always practice good manners". Chivalry is not dead, gentlemen. And ladies, I'm happy for you to hold a door for me as long as you let me get the next one!

Use the comments to let me know which ones are your favorites, and how you might turn those into positive self-talk.

Random Tech Tip

I've never known how to keyboard my way to a different tab in Chrome. While writing this post I stumbled upon the CTRL-PageUp (or "pig up" as Homer Simpson would call it) and CTRL-PageDown keys. This will scroll you through your open tabs. My life is much better now that I don't have to reach for that mouse to switch tabs!

To Improve It, Track It

Found this article yesterday (so this counts as yesterday's post!):

How to Make Every Minute of Your Day Matter

The author describes how to use some method of tracking to

a) not fool yourself (one of my mentors says that the 11th commandment is "thou shalt not fool thyself)

b) improve upon that activity

Darren Hardy's book, The Compound Effect, is an excellent resource of you want to expand on the ideas.

Sorry for the short post. There will be a longer one this evening.

Go forth and make it a great day!

Smiles Everyone, Smiles!

The phrase comes from one of my all-time favorite sports talk guys, Steve Czaban. The Czabe often says it after Redskins losses (I tried to find a clip, but couldn't). I often post it to Twitter, Foursquare or Facebook on those random occurrences when I need to remind myself to smile. 

I posted it this morning with my morning check-in at the train station, and determined that today I would make a concerted effort to smile at everyone with whom I came into contact. Trust me, this is a tough thing for me: I'm often asked "What are you so mad about?" even if I'm in a perfectly fine mood. 

Apparently, I wear the face of a sour-puss. To everyone who has to deal with me on a daily basis, I apologize! I am working on those facial muscles, I promise. You all have permission to tell me "Smiles everyone, smiles".

Rufus

This morning I witnessed a wonderful reminder of the power of a smile. I normally take the 5:50 VRE train from Manassas to Crystal City, normally sit on the same car. This car is "serviced" by the same conductor just about every day. 

Rufus is a young guy who always has a smile on his face, even though he's probably been up and at work for several hours by this point. In addition to a smile, he's always got a friendly word for the passengers, and has developed a great relationship with all of the regular riders.

Apparently Rufus has recently had a son. This morning, the passengers in our car had a surprise for Rufus (unfortunately I wasn't in on it...see above where I said "normally" take this train). A banner was rolled out and hung from the upper-level seats: "It's a Boy", and a lot of the passengers had presents for Rufus. Rufus was totally taken aback and extremely grateful for the outpouring of love that was shared with him.

 It was a terrific experience to be a peripheral part of. And it reminded me that having the attitude that Rufus carries will positively impact those with which you come into contact. And that positive impact will act as a seed that will sometime come to fruition in unexpected ways.

Why?

Today's impactful article, Create the "Why Habit" To Change Your Behavior, discusses the habit of drilling down from your actions to the real reason you're performing them. I'd recommend reading it and coming back for my self-exposition.

So, why smile at everyone I see today?

Here's what I came up with:

1) It makes me feel better. But why?

2) Because I might make someone else smile. But why is that the reason (beyond just being a friendly person and "we're living in a society")?

3) Because if I make them smile they might like me better. Why do I care that they like me better?

4) Because I have a need to be liked and accepted. And, why?

5) Because I have a serious fear of failure....oh, well there you have it. Now I have something to work on!

Writing Daily...Keeping Committments

Long ago I blogged about writing daily, and committed to do so. That lasted about four days, and then some squirrel must have come along and I followed it down the squirrel hole. So, I'm here to try again.

Happiness

Is there anything more important in our lives than being happy with who we are? In my opinion, this is fundamental to everything else we do. There's no way we can be successful, or lead a successful life, without being happy with ourselves (dare I say loving ourselves?).

And happiness is an attitude. And let's be honest, brutally honest: we control our attitudes. We may not have control over much in our lives, but how we look at our lives and how we react to what happens to us, that we most definitely do control.

I stumbled on this article when reading through my Zite app today, and found it to be a great "checklist" of not-to-do's. I hope you find it helpful.


Software Development

I work in the Information Systems group for State Department's Office of U.S. Foreign Assistance Resources. On a yearly basis the entire office gets together for a three-day learning and planning session. New team members get to learn about how the office works and what it does, and we set about improving our implementation plans and processes. 

Listening to today's session I was struck by one major theme: the people doing the actual work of the office (performing the mission of "ensur[ing] the strategic and effective allocation, management, and use of foreign assistance resources" have really hectic, process, data, and bureaucratic-filled jobs. 

They use the software products from the Information Systems group to collect data and plan and inform their decisions. If that software product is at all annoying to them, their lives are just that much more hectic and harried.

So, the thought: the people who use your software are NOT paid to use your software; that's not their job. Their job is to do whatever it is they get paid to do. 

As software developers, development leads, and yes, project management folks, we need to constantly remember that as we make the little decisions about how much care we put into the code we write. About how flippant we are with the "little annoyances" we allow to surface to the user.

Until Tomorrow

That's all for today. I promise to be back tomorrow, even if I have to take a shotgun to the squirrels!

Eliminate Negative/Self-Destructive Thoughts

Short post today. I wanted to share this article that I read the other day:

A Simple 5-Step Process to Separate Your Actions from Negative Thoughts

One of the steps seemed utterly absurd to me:
Simply walk around wherever you are, and say, “I can’t walk”. Say it to yourself and then say it out loud while walking. Although this may seem silly, you are actually training your mind to distinguish between thoughts that are helpful and those that are not.
Seriously? How would that ever help me?

Well, on Monday I started using this at the gym. As I walked I'd say "I can't walk". As I did parts of the step routine I'd say "I can't take another step" as I did, indeed, take another step.

Turns out, this idea isn't all that far-fetched. As the author describes, my internal state (so to speak) started to realize that the negativity was ridiculous. And the more I condition myself to that fact (that it's ridiculous to have negative feelings about myself), the better off I'll be.

Hope this helps!

Today's Blog Post: Boring Day, But Learned About Knockout

Warning: geek alert...

Not much inspiring to write about today, but I did finally start down the road of learning about the Knockout Javascript library (and MVC4 web applications).

We'll be using these libraries/technologies/whatever they are in the "re-engineered" version of the application I help to develop for the State Department, so it's high time I learned what they're all about and how to use them.

My adventures started at http://knockoutjs.com/, the official home of the Knockout library. I learn best by doing, so I took a few minutes to peruse the home page in a token effort to learn what the library is all about.

Grew bored with that rather quickly. Moved to the Interactive Tutorials http://learn.knockoutjs.com/ and was in geek heaven. They have a terrific set of tutorials and the pages are set up so that you can enter code and see it in action right there.

Then I moved on to how to do this in Visual Studio. I started blind, just created a new MVC4 project and tried to make it work. Nope. Some things were definitely missing. Needed help. Found this tutorial on creating MVC4 apps and started working through it: Intro to ASP.NET MVC 4. This was more like it (in other words, I actually had a running web site).

From there, I moved on to a February, 2012 (am I that far behind?) MSDN article, Getting Started with Knockout by John Papa. Great article with some good samples. But I've so forgotten my HTML and Javascript that I had to download his sample code in order to figure out that I needed to wrap the code in tags such as

<script type="text/javascript">

Oh boy, it's going to be quite an adventure getting from C# Windows Forms talking to web services to ASP.NET MVC with Razor and Knockout...

Some Lessons You'd Rather Learn Other Ways

Today I received the awful news that a young co-worker of mine had passed away after losing her fight with some form of a rare blood disease. As you'll discover below, I don't know what kind of illness she had or how long she had been battling that nasty bastard.

I always try to learn something from every situation, no matter how horrific. I determined that this news would be no exception, so after reading the announcement email I spent some time in prayer for her and her family, and then some time reflecting on the lessons that she taught me, albeit indirectly.

The lessons?

    You Just Never Know

    In all the time I knew her, up until about month before she went on medical leave, I had no idea she was even sick. She would never mention her illness, gave no indication of it, and showed no signs of how sick she was. Always cheerful and matter-of-fact, always smiling. Never glum. Not one complaint. I could never have been as calm as she was.

    1. Don't complain out loud. I've heard it said "Half the people don't care about your problems, and the other half are glad you've got them". But it's more than that: don't complain out loud because you never know if the people who hear you are actually living through much worse problems. They probably don't need to listen to you whine about your minor inconveniences in the face of their major situations.
    2. Dig deeper with those who will let you. Some people are private by nature, or don't want to come across as a burden. And some of those folks could really use a shoulder to cry on, or a pair of arms to help hold them up. So if you've got some close friends who you just don't know much about anymore, why not ask what they're facing in their lives these days. What things are scaring them at the moment. What you can do to help or support them.
    3. If you have a solution to people's problems, offer it! Sometimes we're afraid we're being pushy, preachy, or hard-selling. But if you truly believe you have something to offer that can be of assistance to others, you should make sure people know it's available and that you'll do whatever you can to get it in their hands.

    Life Is Short, Live It

    My co-worker was in her early 30's. That's way too young to die. Way too young. 

    I know that if I found out that I only had a short time left, I'd be pissed that I had squandered much of the life I've already lived. 

    Oh sure, we've made a great life for ourselves. I work hard at a job that I love. I have three awesome kids and an awesome wife of almost 25 years. But in general, I've lived my life in my comfort zone. And I've lived a life I've largely settled for.

    But there's so much more out there. Financial freedom is within everyone's grasp if we'd just reach farther, delay our gratification a little longer, be a lot bolder, and help a lot more people to get what it is that they want.

    So if you've lived the complacent life, figure out how to break yourself out of that rut. Make a game plan to get debt free. Find a way to create multiple, residual streams of income. Only then can you have true financial freedom. And if you want to know how we're pursuing those ends, contact me - I'd love to help you.

    Pray

    If you would, say a prayer for my co-worker and her family. And then pray that God will help you develop the wisdom you need to lead the life that He, as your Father, wants for you, as His child, to lead. Chances are it doesn't involve working in an office 8 hours a day wrapped with an hour of commuting each way...

    Cloud Atlas...Thoughts having almost finished the book

    I'm almost finished with the book and haven't seen the movie yet. Honestly, if I hadn't seen the trailer for the movie trailer and read the movie's blurb, I'd have no idea I was reading about the same people in different times. 

    The writing itself is superb, and the individual stories draw you in and keep you incredibly engaged. There were times, particularly in the first half of the book, when I couldn't put it down.

    But the connections between the timelines seem to be so vague as to be merely coincidences. Sure, the same tattoo makes an appearance throughout, and the occasionally run into artifacts from their past lives. Unless I'm completely missing something, that's about it.

    For a book so well-written, so descriptive and engaging, it's a shame I find myself feeling the same way I felt at the end of LOST:just what am I missing?


    Why You Should Write Daily

    If you spend any time at all reading blogs about blogging or enhancing your online presence, you will encounter this piece of advice often.

    This well-written article finally convinced me to try. It answered two important questions that I had:

    * Where will I get ideas to write about? I didn't like the answer, but I accept it.

    * How do I best get started?

    I hope you will get as much out of this as I did, and if you start to write Daily, leave a link to your blog in the comments so I can read along!

    Why You Should Write Daily : zenhabits

    Find out what the DNA test results on that 6-inch 'humanoid of unknown classification' revealed...

    You know you're going to click that link...I had to...

    Code First and Indexes

    Yeah yeah, Code First is great (supposedly).

    Except that it seems to leave out a key piece of the data puzzle: indexes.

    I ran into this today on an old side project I worked on last year. Someone else had developed a module in the application based on Code First.

    There were about 8 classes that were hierarchical in nature: one main table with a few related "child" tables, some of which also had child tables. Code First created the database schema on any customer sites where we installed this new module.

    In the service layer (Entity Framework with RIA called from a Silverlight app), the developer added a complicated LINQ query to get records "published" within a certain date/time range (the table has a Published datetime column). Worked great when there were only a few dozen records in the database.

    Fast forward a few months, there are now several thousand records in the main table, and even more in the details tables...

    The date range query no longer works: we get command timeouts. Oh sure, I could change the code in the service layer to add

    ObjectContext.CommandTimeout = 300;

    but that would only mask the real problem (with the query itself) and would require us to redeploy the service layer assemblies to all of the sites where this is deployed. And, by the, there doesn't seem to be a way to set the EF CommandTimeout via the web.config file (at least for SQL Server contexts).

    The actual solution? Add an index to the Published column on the main table.

    The LINQ query goes from taking more than a minute to run to around 3 seconds. 

    As far as I can tell, there's no way to instruct Code First to create an index on a property in your model.

    Several possible ways around this are given here (the best being the addition of the new Attribute class):

    http://stackoverflow.com/questions/8262590/entity-framework-code-first-fluent-api-adding-indexes-to-columns

    And it does appear that this is on Microsoft's radar, based on this entry on CodePlex relative to Fluent API:

    http://entityframework.codeplex.com/workitem/list/basic?keywords=DevDiv%20%5BId=87553%5D



    UPDATE: According to a comment left by John Davidson on my original Google+ post, indexes are available in Entity Framework version 4.3+