The Power of the Story
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
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
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!
Rufus
Why?
Writing Daily...Keeping Committments
Happiness
Software Development
Until Tomorrow
Eliminate Negative/Self-Destructive Thoughts
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
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
You Just Never Know
- 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.
- 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.
- 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
Pray
Cloud Atlas...Thoughts having almost finished the book
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!
Find out what the DNA test results on that 6-inch 'humanoid of unknown classification' revealed...
Find out what the DNA test results on that 6-inch 'humanoid of unknown classification' revealed theblaze.com/stories/2013/0…
— TheBlaze (@theblaze) April 24, 2013
Code First and Indexes
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+