The Stone Door

Tags

, ,

It’s my niece Amelia’s eighth birthday today. She asked me to write her a story about a princess in a high, high tower and a prince that came to rescue her. The prince had a really hard time finding a way up the tower.

I asked her what happened when the prince finally made it up the tower, and she told me that it turns out there’s a stair and they can just walk out! The story didn’t end up exactly like that, but it certainly had an influence. Give it a read and see what you think.

The Stone Door

Once upon a time, there lived a princess. The princess was kind and fair, smart and strong, and everyone loved her. Kings and princes and paupers begged King David for her hand in marriage. The king loved his daughter and wished her to be happy, but he knew that the man who won her hand would one day rule the land.

He thought long and hard on how he could give the princess a choice and still be sure the man was worthy. A contest! But it could be no ordinary tournament. No mere joust could decide who would marry his daughter and inherit his empire.

King David summoned Percy the Great to his chamber. He told Percy to take the princess to the Tower of Truth. Once there, lock her away and ensure that none could enter, but he who won the the princess’ heart.

The journey to the Tower of Truth took seven days. They rode through plains of tall grass, crossed swift rivers, sailed shimmering blue lakes, and climbed treacherous mountain passes. The princess gasped when she finally saw the high, high tower. The clouds hid the top from her view and she felt a wave a dizziness pass while she craned her neck to look up it.

Percy unlocked the door to the Tower with an intricate silver key and ushered the princess inside. There was no furniture or decorations in the small, round room; only a long, winding stair that spiraled up out of sight. The princess was scared of being alone in the tower, but was determined to please her father. Percy assured the princess that she would find food and water at the top of the stairs. She need only choose a husband to release the spell and leave the tower.

As the princess began to climb the stairs, the wizard stepped out and closed the stone door. He scratched his beard and tilted his head to the side while he stared at the door. His blue eyes sparkled as he snapped his fingers and muttered magic words under his breath.

The spell took shape in swirls of colors and light. The stone door sealed shut. The intricate key melded into the stone. Percy tried to open the door, but could find neither handle nor crack. The stone door was gone.

While Percy and the princess traveled to the tower, seven riders mounted seven black horses and sped from King David’s castle to seven nearby kingdoms. They carried a message: “You shall choose one man to compete for my daughter’s hand. Send that man to the Tower of Truth to prove his worth.”

Each king received the message with great joy. The marriage of King David’s daughter to their prince would grant them power and riches and prestige. The firstborn son of six kings set off for the Tower of Truth. They were young and strong; brave and handsome. Each believed in his heart that he was the one.

There was one ruler whose wisdom matched King David’s. King Henry did not send his firstborn like the other kings. He sent his youngest boy, Tristan. Tristan was not like the other princes. He was clumsy with a sword where the others were skilled in combat. He was shy and timid where the others were used to being the center of attention. He was short where they were tall, weak where they were strong. But what Tristan had was as sharp mind and a talent for words.

Tristan did as his father said and left for the Tower of Truth. He was scared of the trip for he did not ride well, did not enjoy sleeping out of doors, and was concerned he would get lost or robbed along the way. The first few days were pure terror! His body ached from riding. His fingers bled from constantly biting his fingernails. He jumped every time a crow cawed.

Why had his father picked him? Surely the princess wanted a husband who could protect her, win her glory, or bring her treasure. He could do none of those things. He was a scrawny boy with shaggy hair, no stomach for physical activity, and he felt awkward and out of place talking with other boys, let alone a beautiful princess.

Hard, nerve-wracking days passed before the tower came into sight. It was impossibly tall and made Tristan feel small. Around it were six tents and outside the six tents sat six men, each of whom looked rather confused.

Tristan dismounted and led his horse the last hundred yards to the Tower grounds. Six heads swiveled to see the last of their rivals. It made Tristan wish for a bath and a brush, preferably at home, alone, in his room overlooking the sea.

“Hello, my lords,” he said with a small bow. The six faces stared blankly back.

“Any luck with the princess?” he ventured. The faces turned away to look high, high up the tower to the lone window. Tristan followed their gaze and he imagined he could make out the twinkle of a bright eye and the fall of silken hair. He shook his head, convinced there was no chance he would win the princess’ heart.

He looped the reigns of his horse around a fallen tree and walked to the tower. He could see no door.

“Maybe she’s not there at all,” he said aloud. “Maybe it’s some elaborate hoax by King David. I bet he’s having a good laugh right now.”

“Don’t think you’re the only one who’s had that idea,” a voice said, startling Tristan.

“Sorry ‘bout that, didn’t mean to sneak up on you.”

“No. It’s – it’s fine. I’m just tired. It’s been a long ride,” Tristan said. The man facing him was much older than Tristan, he looked at least twenty-five!

“It was a long journey for us all. And once we got here, we couldn’t figure out what to do next. We were all so eager, we just rode off without thinking. I do that a lot, actually.”

Tristan laughed at the joke. “I’m Tristan, son of Henry,” he said, holding out his hand.

“And I am Jonathan, son of James, but my friends call me Johnny.”

They shook. Tristan was glad to meet someone kind. The princes he had met before were too busy worrying about themselves to notice others.

“So you’ve found no way in and no way to talk to the princess?” Tristan asked.

“That’s the long and short of it. We don’t even know if she’s up there.”

Both men raised their eyes to the window high above them.

Tristan laughed and held his head. “It’s easy to get dizzy looking straight up the tower like that.” He leaned against it while he regained his balance.

“There’s got to be a way up to her,” Johnny said.

“What’s this?” Tristan asked. He ran his finger along a ridge in the Tower. “It looks like writing.”

“If it is, it’s no language that any of us know. It’s the only marking on the Tower, but for the window way up there.”

Tristan backed up and studied the writing. The script looked familiar to him, it just was written in a strange way. Instead of left to write, it turned up and then right and then left and then down and then sideways. He followed the line of text and realized that it was in the shape of a key.

How strange!

He followed the path again, and this time he started to make out words. It was written in an ancient language that Tristan had studied. It seemed his time spent reading ancient poetry was going to pay off.

“Johnny, I think I know what we need to do.”

Tristan called the princes together.

“My lords, I have read the inscription on the Tower wall, and I believe it will help us in our quest for the princess’ hand.”

“Read it, did you? That’s a novel idea,” someone piped up. “Why didn’t I think of that?”

“Probably because you can’t read,” Johnny said. “What does it say, Tristan, son of Henry?”

“The inscription reads:

The door of stone
sealed by fate
opens for love alone

Reveal the door
with her heart’s desire
and live in bliss forevermore

 “For the love of the princess, what does that mean?” asked one of the men.

“I think that’s exactly what it means,” said Johnny.

“Say it plainly, Tristan?” asked another.

“We’re here to prove our worth, right? That’s what I was told. Well, our worth to the princess is what her heart desires.” Tristan said. “So, what do you think she desires?”

The princes exchanged a glance, and then Norman, son of Norman cried out first, followed quickly by the others.

“Protection!”

“Strength!”

“Money!”

“Daring!”

“Glory!”

“Beauty!”

“Well, now, there you go, my lords. One of you surely knows what the princess wants,” said Tristan. His smile faded. He could offer none of those things. “So, it’s a contest. We should behave honorably and take turns, don’t you think? Who got here first?”

“Norman was the first one here,” George, son of Edward, said.

“Can we all agree that we’ll go in order of arrival?” Tristan asked.

“That puts you last, Tristan. I don’t think that’s fair, since none of us would have a chance without your help,” Johnny said.

“Thanks, Johnny, but it’s fair enough for me. Norman, you’re up.”

Tristan walked over to his horse, unsaddled it, set up his tent, and then took a seat to watch Norman’s attempt.

Norman thought long and hard about how he could show the Princess that he could protect her. He was a tall, strong lad, with straight, black hair that reached to his shoulders and bright, blue eyes. But he was not overly smart. It was Johnny who finally tapped him on the shoulder, shaking him from his quiet contemplation.

“Why don’t you go fight some bandits and bring them back here?” said Johnny.

“Men, I’ve a great idea! I am going to fight bandits and bring them back here for the Princess to see. Then she’ll know that I can protect her. Surely, that is her heart’s greatest desire!” Norman said. Then he ran to his horse, jumped on, and rode away.

Johnny looked across the camp to Tristan and shrugged. That’s more like how Tristan expected a prince to act! They always took credit for other people’s ideas.

The other men drifted back to their tents and thought up ways to impress the princess and break the spell on the tower. It was nearly noon when Norman returned. There was a bandage around his head, and his clothes were torn and dirty, but he sat tall and proud in the saddle. Behind him were a group of ten dirty, beaten bandits.

“Well, boys, time to pack up and go home. I’ve single handedly fought these bandits and brought them here to show the princess. She’ll choose me for sure.”

He looked around confused for a moment.

“Well, now what? Tristan, what’s next?”

“Uh, well, there weren’t any other instructions, Norman. Go up to the Tower and tell the princess what you can give her?”

“Ah. I just thought of it. I’ll go to the Tower and tell the Princess what I can give her.”

Tristan shook his head at Norman.

“Princess! Can you hear me? It is Norman, son of Norman. I offer you protection. No bandit will find haven in our lands. No lawlessness will go unpunished. No harm shall be done to you, so long as I have breath in my body. Come down from your tower and join me.”

No answer came from the high, high tower, and none could see the princess in the window though Tristan thought he saw the gleam of her bright eye and a strand of her fiery hair.

“Bronnnnggg!” A deep sound rang from the tower, but the door did not open.

“I think that means you lost,” said George. “Good try though, old boy. I rather thought you had that sewn up. But, it does mean it’s my turn to give it a go. Step aside, Norman. I know what the lady wants.”

If Norman was a tall, strong lad, then George was a giant. His muscles had muscles. His head was bigger around than Tristan’s waist, and his legs were thicker than both of Tristan’s combined. George bent down and put his arms around a massive rock. None of the others could have moved it, even if they worked together, but George lifted it with ease and then hoisted it up over his head.

“See that boys? Strength!” he said. His eyes bulged, his face turned red, and sweat popped out on his forehead, but it seemed he could hold the boulder up forever. “Now, come on over, climb up my back, and get on the rock! That’s right, Norman. Climb right up. All of you. I want the princess to know how strong I am.”

So they did. Six princes climbed up George’s back and crammed together on the rock. George wasn’t even breathing hard.

“So, Princess, I reckon that’s a mighty show of strength. Don’t know many blokes that could do that. I’m strong. I’ll be strong for you. What do you say?”

“Bronnnngggg!” The tower gonged so loudly that George backed up a step and lost his balance. The six princes and the rock came tumbling down.

“Ahh, whatdya do that for, George!” said Harry, son of Patrick. Patrick’s kingdom was the richest in all the land. They mined gold and diamonds from the mountains and sold them for great profit.

Harry picked himself up off the ground and started dusting off his immaculate clothing. The threads were made of gold and the buttons were made of diamonds.

“It was a cute try George, it really was, but no princess wants a muscle-bound giant to lift things. What good does that do?” Harry turned to the tower and didn’t see the anger on George’s face, or that Tristan put a brave hand on George’s chest to kept him from beating Harry up.

“Princess! Can you hear me?” Harry cried out. “I am Harry, son of Patrick. I am sure you know my father, and what his kingdom has to offer. My dear princess, I offer that kingdom to you. A life of luxury. A life of pampered relaxation. A life without worry or fear or need. You shall have servants. You shall have clothes. You shall have jewels and castles and horses and coaches. You will have gold, rooms of gold for you to swim in! All this, I offer. What say you?”

“Bronnnngggg!” the Tower rang immediately.

Tristan was happy to hear the sound. The princess did not want protection or strength or money. Could he offer what the princess desired most of all? But what could it be?

“My turn, my lords!” Johnny, son of James, said. “I have but one thing to offer so fair a creature. And I shall show it to her face!”

He ran at the tower, took three steps up it, and then jumped. His fingers found a hold and he began to scale the tower with the skill of a spider. Johnny was a small, athletic man whose home was high in the mountains. He meant to climb all the way up to the princess and win her over with his daring.

Tristan watched his new friend with interest. Surely, the princess would be impressed by his display. Tristan wasn’t sad that Johnny would be the one to win her hand. He was a good man.

But then Johnny cried out and Tristan saw his left hand had slipped. He was holding on with one hand!

“George!” Tristin yelled. “Come quick! You’ll have to catch him!” George ran over just as Johnny fell with a strangled yell. George raised his giant arms up over his head and caught Johnny. They tumbled to the ground in a heap of arms and legs.

“Thanks, George!” Johnny said. “That could have made for a bad day.”

“Bronnnngggg!” went the Tower.

“A good show, John, but it seems the princess wants someone who plays at grownup games.”

It was Arthur, son of Alfred who spoke. All of the other princes knew of him, for he had saved his father’s kingdom from invaders many times. He was a renowned warrior, cunning general, and was destined for great things.

“I was honor bound to play by the rules, so I have been content to wait my turn and watch you fail. I believe we each knew who the winner would be and now I shall claim my rightful spot.”

Arthur walked towards the camp, went into his tent, and came back with three large flags on three stout poles. He stuck the poles in the ground, and raised his hand to the flags.

“Princess! Before you stands Arthur, son of Alfred, the Savior of Savoy. You may have heard of me. These three flags represent the glory that I shall win for you. The red flag with the wolf’s head is the standard of Mordred of Millburn. He came to Savoy at the head of one hundred of his fearsome soldiers to take our land. I beat him and took his flag.

“The yellow flag with the eagle’s head was taken from Eric Yellow-Beard. His screaming barbarians sought to plunder our livestock. I defeated him and took his flag.

“The black flag with the silver crescent belonged to Sultan Solun. He came across the great sea to steal our wealth. I sunk his ships and took his flag.

“My name is known across the land. Join with me and I shall bring glory to you. Your name will live beside mine for all time!”

The tower did not respond immediately. Arthur bowed to the other princes and walked to the tower. He reached out and touched it, hoping that the door of stone would open.

“Bronnnngggg!” went the tower. The princess did not desire glory. Arthur frowned and slunk away.

“So it falls to me to win the princess’ hand. It’s easy to see why. You’re all dressed like peasants!” It was William, son of Charles, who spoke. His hair fell from his head in golden waves. His skin was flawless, his eyebrows arched just so. His goatee was expertly trimmed. His clothing was meticulously tailored and of the highest quality. His posture was impeccable, his body perfectly proportioned and fit.

“Princess! I am William. On my eighth birthday, eight statues were made of my face. The artist sold them for an enormous sum of money. For my sixteenth birthday, my face was put on our kingdom’s golden coin. Trade stopped because none wished to part with my face! Join me, princess, and bask in my beauty daily!”

“Bronnnngggg!” went the Tower. The princess did not desire someone so vain as William.

Tristan fought down a grin. He had a shot to win the princess’ hand! But what could he offer that she had not already turned down. Protection, strength, money? Those had not impressed her. Daring, glory, beauty? It was well she did not want those, because Tristan possessed none of them.

“Well, Tristan. You’re the last hope. How will you win her hand?” Johnny asked him.

“I don’t have anything to offer. What if she doesn’t want any of us?” Tristan said.

“Poppycock! She clearly doesn’t know what she wants. When you fail, I will try again and this time she will see sense,” said Norman.

Tristan didn’t want Norman to get that chance. He realized he wanted to win her hand for himself. Tristan knew he was not like the other men. Was the princess more like him? He would tell her of the things he desired and hope she wanted them too.

Tristan ran back to his tent and brought out his lute. When he came back, he stood in front of the crowd of princes eager for him to fail. He strummed the lute, winced a little at the sound, and then tuned it. A second strum, a minor fall then a major lift, and he began to sing.

Tristan sang of family and friends, of honor and trust, of children and hope. He sang of sunsets and mountains and flowers. He sang of breakfast in bed and a hard day’s work. He sang of growing old and sharing it with his best friend.

He sang of love.

When he finished, he heard a few sniffles, then the princes burst into applause.

“That, that was b-b-b-eautiful,” George managed to say between sobs.

“Thanks, George. It’s how I feel, but I doubt it’s what the princess wants.” He turned to the tower and waited for the sound.

It didn’t come.

Instead, the writing unwound from the wall, became an intricate, silver key, and fell to the ground. Tristan picked it up and saw that there was a keyhole in the tower. With a shaking hand, he placed the key into the hole. It fit perfectly and turned with ease.

The door of stone opened.

The princes cheered!

“Well done, Tristan!” Johnny yelled.

Tristan couldn’t help but smile, then gave them a wave and ran up the stairs.

He was sweating and breathing hard by the time he reached the door at the top. He paused to catch his breath and hastily tried to make himself presentable. It was never an easy task for him. He reached for the doorknob and then pulled back. He couldn’t believe what had happened. Could it be true?

He started to open the door again, but it opened from the other side. The princess stood before him. She was a vision of beauty and grace.

“Did you mean what you sang?” she asked.

“It came from my heart,” Tristan said.

“It is in my heart as well.” She pulled him close and kissed his cheek.

Prince Tristan and Princess Amelia lived happily ever after.


~ The End ~

The Value of a Mistake

Tags

We all make mistakes. They may be big mistakes with far reaching repercussions, or small mistakes that no one else sees, but we all make them. There are two ways to react to your own mistake; accept responsibility or make excuses.

When you make excuses, you aren’t learning how to get better. You are learning how to blame others. There is no growth in an excuse.

When you accept responsibility for what happened, even if it was not your fault or there are legitimate extenuating circumstances, you can then evaluate and learn from what happened.

At Mindscape, one of our core values is Make Mistakes. Now, it helps that we aren’t brain surgeons. Our work is digital, and digital is usually easy to fix. But the reason we embrace mistakes is to help our team grow. If we yelled at our team members every time they made a mistake, first we’d go hoarse, and then we’d have a lot of people unwilling to experiment, quick to blame others, and not learning from what happened.

By allowing our team to make mistakes, we encourage them to accept responsibility for it, figure out how to fix the issue, and learn about themselves in the process.

Try it out yourself. Instead of spending time and energy looking for someone or thing to blame, just take the responsibility. Own up to it, figure out how to fix it, and move forward.

Life is too short to spend it on excuses!

After Dark

Tags

, ,

I recently wrote about Creating with a Constraint, and I thought I’d take my own advice this last weekend. It was Sunday, and I was in Flint celebrating my nieces’ birthdays. Adriana was turning 5 in a few days, and Amelia is turning 8 in March. I asked both girls if they’d like a story for their birthday, and they did.

So, I gave myself some constraints. First, I asked them what the story should be about. You’ll have to wait for Amelia’s answer, but Adriana said that I should pick the story. I didn’t want to let myself off the hook so easily, so I asked her if it should be about fish, or dolphins, or princesses. She picked fish, because they recently got a pet fish. I asked her what the fish should do, and she said it should get out of its bowl. Ok, I can work with that.

Constraint 2: Time. I didn’t have much of it. Her birthday was Wednesday, and Sunday was just about over. Monday was full of errands and Tuesday was work and the Michigan State basketball game, so I’d have to find time for it.

And to up the level of difficulty even further, I added a third constraint and tried my hand at some poetry. I was thinking more Dr. Seuss than William Shakespeare, especially after I tried to understand iambic pentameter. After a bit of research, I settled on anapestic tetrameter. Sounds fancy, but you’ll know it if you have read Twas the Night Before Christmas.

So, without further adieu, here is After Dark.

In a house there once lived two young girls with a fish.
It was fed and was loved; for a pet was their wish.
So they named the fish Molly and they sat and then stared.
But dear Molly just swam and did nothing with flare.

Soon the girls went to bed, where they read and they prayed,
And their thoughts of dear Molly they stopped for the day.
But the fish did not stay all alone in her bowl.
After dark is when fish leave their bowl and patrol.

When the lights they went dark, it was time at long last
so she swam and she swam; she was going real fast.
Then she jumped up and out of the bowl that was home,
On the table she landed; ready to watch and to roam.

On her fins she did walk when no girls sat ’round starin’,
so now she would wander the house without carin’.
She slid down the leg of the table she lived on,
Then ran fast for the stairs; jumping over a crayon.

With hard work and with effort, she climbed all the stairs.
At the top she did stop for she had to beware
of the mom that would scream if she saw Molly there
in the dark, empty hallway where fish can’t breath air.

Molly walked and was soon at the door of the sister
Who fed her and loved her and now Molly missed her.
Without hesitation she walked up to the bed,
and proceeded to climb up and sleep by her head.

She stayed there all night next to sweet Adriana,
where she heard her dream of a cat she called Burma.
It scared Molly at first, but it was just a dream,
Because fish and cats don’t go together it seems.

The moon rose and it set and the light showed that dawn
had broken and twas time for Molly to be gone.
From the room Molly slipped and slid down the handrail,
and was back in her bowl by the skin of her tail.

For the girls were now up and  “Good morning!” they said.
They gave Molly food and then they watched as she fed.
Molly stared back and gave them a wave and a wink;
“Ha, Surprise! I do more than just play in the sink.”

Creating with a Constraint

When I was in school, it was rare for me to finish a report before the deadline. It really did not matter if the professor gave me a day, a week, or a month to complete it; I didn’t complete it until just before class.

Part of the issue for me was prioritizing. It always seemed like a night playing basketball or video games was a higher priority to me than finishing a paper I had another week to finish.

But it was not just priority. It’s the constraint that a deadline gives. With no constraint, I have a hard time conceptualizing what to do with the excess time. If I thought the paper would take three hours, what would I do with the other hundred hours I could use?

In the business world, there is another constraint. Our partners have budgets and we have to deliver the best solution we can within their budget. As a creative person trying to craft a solution out of 1s and 0s, that’s often a hard concept to grasp. I hear “best solution” and I start thinking about all of the cool features I could build. I want to think about mobile and tablets and responsive design and ajax and push notifications and modularization and reusability; any number of things that could make the application the very best it can be.

The problem comes when the perfect solution in my mind does not match the budget the partner has approved. That’s when I have to change my mindset. I have to understand what the partner needs and find a way to deliver the very best product I can within their budget.

The budget is a constraint. The constraint causes me to be creative in ways that I would not be without it. If I think my idea of the perfect solution will take 100 hours, but I only have 40 hours to complete it, I have to find a way to craft a solution out of the time I have. Perhaps I have to ignore the latest technology because that would take extra research time. Maybe I have to make the module less flexible and just build it to fit the current need.

It is not about delivering less. It’s about delivering something great within the constraint.

Give yourself a constraint on something today. Give yourself one hour to complete that task you’ve been putting off. Tell yourself that you have to have the home remodel done by the end of the week. You’ll be surprised at the solutions you come up with when you make a constraint.

The Power of an Hour

Tags

I have been meaning to finish the novel I started in college since, well, since I started it in 1998. That’s a whole lot of time spent thinking about it, fretting over it, and ultimately not doing anything about it. It seems there is always something more important to do or something easier and more enjoyable.

Last year I made it a goal to finish writing a novel. Sure, it still was not the story I started back in college, but I was bound and determined to finish writing something. But there was still a hurdle in the way, and I am willing to bet that it is the same hurdle that many of you face when looking up at a goal from the ground floor.

Where will I find the time?

Right about the time I was wondering that, I read a blog post that had a novel idea. Put aside one hour each day and use it to be productive. No interruptions for 60 minutes. Don’t check email. Don’t go to Facebook. Don’t answer the phone.

Every day. 60 minutes.

So I gave it a try. Every day after work I spent 60 minutes writing. It was not much each day, but after a month I had written 20,000 words. By the end of the summer, I was up to 70,000 words.  In November, I made it two hours and completed 50,000 words in that month alone.

The novel stands complete. It’s just a rough draft and needs a lot of editing, but I can see the 400 page manuscript sitting on the table and know that I accomplished my goal.

That’s the power of an hour.  Don’t try to accomplish your goals this year all in one sitting. Take bite size chunks out of it. Do a little each day, every day, and you will be amazed at the results at the end of the year.

Good luck in 2013. I hope you hit all of the goals you have set!

Keeping your software young

Tags

, ,

Every once in a while, I look at the date and wonder how fifteen years have passed since I graduated high school.  Looking back at those four adolescent years, they feel more like four decades.  It is crazy to experience the speed of life.

The software we build wonders the same thing. Has it really been seven years since that website was built?  Wasn’t it just yesterday that Ajax was the thing of the future, and IE 7 was the greatest step forward in Internet history (ok, maybe that was never the case).

Time and Technology stop for no man, and it certainly does not stop for the applications we build. So what can we do to keep them fresh and healthy?  It’s not so different from the additional exercise, better diet, and regular checkups that we do for ourselves. In the case of technology, the key is to keep up on blogs, product releases, and to continue to use the application so you can understand its needs.

Microsoft released .NET 4.5  on August 15, 2012, and I was pleased to have a few minutes to install Visual Studio 2012 with .NET 4.5, and give webTRAIN, our Web Marketing Platform, an upgrade.

webTRAIN was built back in 2007 as a .NET 2.0 website using Visual Studio 2005.  Since that time, we have upgraded it to .NET 3.5 and have been using Visual Studio 2008 to code it.  I really have been looking forward to upgrading to .NET 4.0, but I wanted to wait until we had new servers with IIS 7 installed.

We made the move to a new 4 server network with IIS 7 a few months back. With that, we were finally able to consider moving to .NET 4.  I heard .NET 4.5 was around the bend, so it made sense to wait just a bit longer.

The actual process of moving into Visual Studio 2012 and .NET 4.5 was not as painful as I thought it would be.  We have run into two hiccups so far in our testing.

1) .NET 4.5 handles request validation differently that .NET 3.5 and .NET 4.0.  This came up specifically when trying to pass HTML from a Tiny MCE editor to our model.  We found the answer in this whitepaper. The portion that affected us was “Support for unvalidated requests’”, which I have copied below:

*******************************************************************

To allow this, ASP.NET 4.5 now supports unvalidated access to request data. ASP.NET 4.5 includes a newUnvalidated collection property in the HttpRequest class. This collection provides access to all of the common values of request data, like Form, QueryString, Cookies, and Url.

Using the forum example, to be able to read unvalidated request data, you first need to configure the application to use the new request validation mode:

<httpRuntime requestValidationMode="4.5" ...
/>

You can then use the HttpRequest.Unvalidated property to read the unvalidated form value:

var s = context.Request.Unvalidated.Form["forum_post"];

Security Note: Use unvalidated request data with care! ASP.NET 4.5 added the unvalidated request properties and collections to make it easier for you to access very specific unvalidated request data. However, you must still perform custom validation on the raw request data to ensure that dangerous text is not rendered to users.

*********************************************************************

 

2) After updating our development servers to .NET 4.5, webTRAIN seemed fine and dandy. However, we found that it caused an issue with an MVC app that used automatic build and deploy via Team City on our development server. It built the code against .NET 4.5 assemblies and when we deployed it live, where .NET 4.5 is not yet installed, it ran into an error.

The error was:

Could not load type ‘System.Runtime.CompilerServices.ExtensionAttribute’ from assembly ‘mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089′.

We ended up having to retrieve mscorlib from C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0 and building it directly into our application.  It required a manual change to the programs’ XML file to include:

<Reference Include=”mscorlib” />
<Reference Include=”System.Core” />

There’s still lots more testing to do to make sure webTRAIN will play nicely with the new updates, but it’s great to know that we can begin to include Strongly Typed Datasets, Model Binding, HTML 5 snippets, and all the other great .NET 4.5 upgrades into our new features.  webTRAIN is feeling younger already!

Have you had luck upgrading to .NET 4.5?

Aaron Brander is the VP of Technology for MINDSCAPE at Hanon McKendry.

The Cost of Interruptions (Or how to get things done)

Tags

I found myself sitting at my desk the other day, and knew that I had to get some work done.  The problem was that every time I started, something else distracted me.  Each instance I was distracted, it took time to remember what I was doing, build up the context that I had my brain set in before I was interrupted, and get back in the Zone.

Interruptions today are easier than ever. Here’s a small list of the interruptions that can find me from where I sit:

  1. Email notification
  2. Instant messenger for chatting with co-workers
  3. Desk phone
  4. Cell phone
  5. Internet!
    1. Facebook
    2. Google Reader
    3. ESPN
    4. CNN
    5. USA Today
    6. Detroit Free Press
    7. Research for my next vacation
  6. Meetings
  7. A window
  8. A grumbly stomach

It’s a wonder I get anything done at all with all those potential interruptions.  So then, what is the key to being productive?  It is not necessarily eliminating the interruptions.  Your brain craves distraction, and sometimes the distraction is what triggers the creative idea that you were looking for.

Instead, the answer is focused, uninterrupted time.  Here’s a strategy that works well for me.

A) At the end of the day, I make a list of the 2 or 3 most important things to accomplish tomorrow. Often there will be a number of ancillary items under the main items. If I get to them, great. If not, they’ll wait for another day.

B) When I get to the office, don’t check your email right away! A day’s worth of distraction awaits you there. Turn off the email client and put it away until later.

C) Turn the instant messenger to Busy so your co-workers know not to bother you.

D) Put your head down and work until at least 1 of the items is complete. If possible, complete them both.

E) Now that the day is rolling along, and you’ve completed enough that you feel productive, check your email.  I like to check it at 11 and 4pm, and do my best to avoid it the rest of the day.  If it’s an emergency, they’ll call, but it rarely is that important.  What is important is getting substantive work complete, and not just checking off small tasks that do nothing more than move a ball forward.

Give it a try sometime! I think you’ll be pleasantly surprised with how much work you can accomplish by focusing on 2 or 3 of the important tasks each day.

Researching why we get fat

Tags

, , ,

Everyone knows that if we eat more calories than what we expend, we will gain weight.  That’s easy and irrefutable, right?

We also know that if we exercise and cut out the fat from our diet, that will make us lose weight faster.  The government tell this to us, our doctors tell us, tv shows and commercials say it.

Has that worked for you?

It has not worked for me.  I work out 4-5 days a week, I play sports often, and I do my best to avoid red meat and pop.  I don’t always do it, but all that effort I put in has to balance out on my side of the equation.

But it has not. I continue to gain weight, I can’t drop the spare tire, and I have a very hard time staying away from sugar.

So is that the answer to the obesity epidemic? That America lacks the willpower to make itself lean? That is surely the message that is given to all of us.

But what if that is wrong?  What if the calories in / calories out doctrine that has been preached all of our lives is wrong?  What if exercise for the sake of losing weight is not the answer?

What if it is not how much we eat, but what we eat that makes us fat?

I read Why We Get Fat, and What To Do About It, by Gary Taubes on a suggestion from a couple of friends, and his argument will surprise you. It will also make you wonder why you never thought of it before.

According to Taubes, and innumerable sources he cites, it was not until the 1970s that our current way of thinking about nutrition took over our collective minds.  Before that time, everyone knew it was bread and beer and pasta and sugar that made you fat.  That is, the culprit was carbohydrates.

Carbohydrates now form the base of the nutritional food pyramid. If carbohydrates are in fact the reason we get fact, our government, which decries obesity, is in fact what is pushing us to get fatter.

Taubes shows how and why we came to believe the calorie in / calorie out idea of weight loss.  He gives historical evidence of why it doesn’t work, why eating the way the government prescribes makes people fat, and how all of those carbohydrates affect the body.

He also discusses how carbohydrates play a big factor in health, including diabetes, heart disease, cancer, and Alzheimer’s.

I strongly recommend you read this book. At the very least, you may answer the question of why you work so hard at losing fat, but it never happens.  And if your question is answered, you just may be convinced to change your diet.

I was. I’ve had very few carbs since September 10th. I’m going to stick with it a few months and see what happens, and I’ll be sure to let you know how it works for me.

Oh, you may be wondering what I’m eating now instead of carbs.

Fat. Yup, beef and sausage and cheese and eggs.  I’ve lost 4 pounds in 16 days.  Think that’s crazy?  Read the book and then let me know what you think.  You may just be crazy for eating spaghetti with a side of garlic bread.

Coding is Creativity

Tags

,

I was having a discussion about great literature the other day, and something that was said struck me as very applicable to software development.

“How did he build an entire world out of what was in his head?”

We were talking about Tolkien, and were both impressed with the breadth of material he created.  Sure, he wrote the Hobbit and the Lord of the Rings.  But supporting that was the creation of a couple of languages, most notably Elvish, and books of foundation legends.

The same could be said of music and art.  How does someone take what they see in their mind, and bring it forth into the world for others to enjoy?

I like to consider myself a writer, and since I have a book published at Amazon, and have even received a small check from its sale, I guess that makes me a published writer.  I am also a software developer, and have created applications for personal use, sale, and at the direction of clients.  You may think that on the surface, the two have nothing in common.  However, I have found that they are very closely related.

The Idea

Both a great story and a great application begin with an idea. The idea phase is exhilarating and freeing. There are no boundaries, no road blocks and no constraints.  Your imagination runs wild over what you could make and what you could do with it.

The Implementation

Once the idea is decided upon, a story and an application take planning.  There are some writers, and some coders, that can hop right into the details.  I’ve read a book on Stephen King’s writing process, and he’s fortunate enough to be able to watch the story unfold as he writes.  For me, I write like I code. I plan it out.

That’s the first step in implementation. Then I start coding the large portions of the application or outlining the different plot devices and characters. It’s in this phase that I see the full scope of what I envisioned, and start to give myself constraints such as time, cost, or word count.  Working with constraints inspires more creativity.  How can I finish this in a weekend?  How can I keep it under 100,000 words?  The constraint drives good design.

The Details

When writing, the difficult detail for me is creating believable dialogue. I can write fight scenes all day, but crafting discussion between characters is not easy.  In code, it’s often all of the small items, like the UI for the user signup screen, the retrieve password code, or making sure all the possible iterations of interaction are covered and tested.  It’s where the project is no longer fun every day, and the only way through is to roll up your sleeves and to keep moving forward.

The Payoff

Once my website is live, my application is released, or my story is in front of readers, the feeling is the same.  Relief that it is done, pride that my idea came to life, and concern that others will treat it with the same love and care that I did while building it.

Writing great code is an art, and one that is beginning to receive the recognition it deserves alongside literature, music, and art.

Scheduling is a breeze (Thanks to LiquidPlanner)

Tags

, ,

Back in February, we were buried under a mountain of work.  It’s not a bad problem to have, but it sure made for quite the logistical nightmare.  It was not easy to schedule dozens of projects for dozens of team members and still make sure we hit our deadlines.

I wrote about the problem at that time, and a small sliver of hope that had appeared on the horizon. That sliver of hope is called LiquidPlanner.

lp

We have been using LiquidPlanner since February, and it has significantly streamlined our process.  Instead of juggling a calendar for each team member in Google Calendar, we just assign tasks to a team member, put a low and high estimate for how long it should take, and let LiquidPlanner handle scheduling the project.  It’s easy!  The whole team participates in project management now because they can see all of the tasks assigned to them and how it affects the schedule.

Instead of using Basecamp to handle messages, to-dos and file management, LiquidPlanner handles that too. Tasks are central to LiquidPlanner because they drive the schedule. It also allows us to comment on tasks, add messages, and work with clients.

As an added bonus, we can track our time against a task.  So, we’ve eliminated our home grown time tracking system and instead track time directly in LiquidPlanner.

LiquidPlanner is not all rainbows and unicorns.  There are a few things that were nicer in our previous systems, or could use some improvement.

  • The upcoming schedule is not as easy to read as Google Calendar.  They do a great job handling a LOT of data, but it takes time to get used to.
  • Communication is not as nice as it was in Basecamp. The biggest issue is not being able to tie files directly to a comment. 
  • If I assign a restricted member to a task in a project they don’t have access to, they should automatically be added to the project.  Too often we have tasks that people can’t see.
  • Pricing is per user, so it can get pricey.

But in the end, not having to use 3 different systems, and scheduling that is WAY easier makes LiquidPlanner a no-brainer for us.

If you have lots of projects that need to be schedule across many different resources, and you are tired of using MS Project, or cobbling together multiple systems to try and create something useful, give LiquidPlanner a try!

Aaron Brander is the VP of Technology for MINDSCAPE at Hanon McKendry.

Follow

Get every new post delivered to your Inbox.

Join 141 other followers