# Friday, April 20, 2018

The last few years, I've been thinking a lot about forgiveness.

By far, the biggest things that keep me awake at night are the pain of wrongs inflicted on me and regret for the wrongs I've done to others. I have consciously tried to address both.

Requesting Forgiveness

A few years ago, I made a list of people to whom I felt I owed an apology. These are people I treated thoughtlessly; or I made a joke at their expense or at the expense of someone close to them.

Years had passed (in some cases decades) since I committed these transgressions. But I sought out every person on this list and I apologized to his or her face. One by one, I pulled them aside and told them exactly what I did wrong and I offered my apology. I made no excuses and I waited for them to accept my apology. Some told me it was unnecessary; some told me how much I had hurt them. I think all were surprised that I did it. But every one of them remembered the events I addressed and every one of them accepted my apology.

I completed this list about a year ago and I have slept better since then.

Here are my rules for effective apology.

Be specific. Rather than saying "I'm sorry for anything wrong I may have done", say something like "I was very insensitive to your feelings and I am sorry for that."

Be sincere. Don't apologize unless you mean it. People sense insincerity and will react accordingly.

Accept responsibility. Don't say "I'm sorry if you're mad." Say "I'm sorry for what I did" or "I'm sorry for hurting you"

Don't make excuses. There may be reasons why you behaved the way you did, but an apology is not a time to explain or justify your behavior. If they ask why you did what you did, then go ahead and answer. But generally, this is a separate issue from your wrongdoing and should not affect your apology. Qualifying an apology dilutes its sincerity.

Ask if they accept your apology. It doesn't work unless it is both offered and accepted. It might take them time to accept it; but at least you have started the process. I was lucky that all my apologies were accepted, but I was prepared for the possibility they might need time to think about it or might reject it completely. That is their choice.

Forgiving Others

During this same period, I listed the people who had wronged me; and, one at a time, I consciously and deliberately forgave them. I did not approach them in person; this was a personal thing for me. None of these people ever offered me a sincere apology or even acknowledged their wrongdoing. I suspect nearly all of them have forgotten what they did. Most of them probably did not even know the pain they caused. Some may be embarrassed by their actions and are hopeful that I have forgotten. But it was important for me to offer forgiveness. I was only harming myself by hanging onto my anger.

I don’t have to offer forgiveness to everyone. There are some bad people in the world and those people I try to exclude from my life and move on. The ones I target are good people who happened to do something unkind to me. Those are the ones that stay in my mind.

I have found both giving and receiving forgiveness to be liberating. A weight was lifted from me - almost in a physical sense - when I began and advanced this journey.

Lessons Learned

This process has taught me a few things.

Most emotional pain is not caused via deliberate malice; most is caused by thoughtlessness and self-absorption. Most of us are completely unaware of the damage we cause others through an unkind word or action. What seems trivial to us can leave scars in others.

Apologies are not easy - especially sincere ones; But, if done right, they help both the giver and the receiver.

Forgiveness is even harder than apologizing. At least, it is for me. Especially forgiving those who never ask for it. I'm not done forgiving. There are some people I want to forgive that I have not yet been able to, which troubles me. I'm working on this.

And finally, the hardest person I've found to forgive is myself. I've lost a lot of sleep over the years dwelling on regrets. But the process I've described here has helped.

Friday, April 20, 2018 2:09:56 PM (GMT Daylight Time, UTC+01:00)
# Tuesday, April 17, 2018

CrystalCaveThe Crystal Cave by Mary Stewart tells the story of Merlin, the legendary wizard and advisor to the legendary King Arthur.

Unlike most books on this topic, this is the story of young Merlin - the bastard son of a Welsh princess, who discovers he has visions that predict the future or reveal events happening far away.

The Merlin of The Crystal Cave is more human than the one we encounter in most Arthurian stories. Here, Merlin has no powers other than his vision, a keen mind, and a solid education. But he uses these powers to become advisor to kings and to influence the coming of Arthur.

This book is a coming of age story in which young Merlin meets his first mentor, discovers his birth father, and searches for his place in the world. It is set against the backdrop of fifth century England, after the departure of the Romans and before the unification of Britain under a single king. As such, it is also an adventure story. And Stewart tells the adventure well, expertly building the character of Merlin and those he encounters.

Mary Stewart originally won fame as a writer of romance novels; but this departure from her familiar genre was a great success. The Crystal Cave offers a fresh take on an old story. I enjoyed it enough that I plan to read the sequels in this series.

Tuesday, April 17, 2018 10:59:00 AM (GMT Daylight Time, UTC+01:00)
# Monday, April 16, 2018
Monday, April 16, 2018 11:03:00 AM (GMT Daylight Time, UTC+01:00)

AWBThe Average White Band are anything but average.

45 years ago, a group friends in Dundee, Scotland got together to play funky music, then moved to America to launch a recording career.

Saturday night at the Promontory in Hyde Park, two of those original Scottish band members - Alan Gorrie and Onnie McIntyre - joined with 5 newer band members to prove they still have the magic that launched an international career decades ago.

AWB-83 I attended the second of their two sets, where they played a few ballads mixed in with their signature funk. Vocalist Brent Carter, formerly of Tower of Power, showed impressive range for the band and tenor saxophonist Fred Vigdor led the 2-person horn section. They were helped along by alto saxophonist Cliff Lyons, drummer Rocky Bryant, and keyboardist Rob Aries. But it was Gorrie who led the way with excellent bass playing, backing vocals, and a charming persona for the audience.

They played many of their hits, such as "Cut the Cake", "Work to Do", and "Oh Maceo". The room was full and the level of energy rose as as the show went on. The band returned to the stage for a single encore - their only US #1 single "Pick Up the Pieces".

By the end of the evening, most of the audience was on their feet, including yours truly. It was a show I wish could have continued for longer into the night. Despite their name, Average White Band was exceptional. I find myself playing AWB and other funk bands as I write this on Sunday evening.

More photos

Monday, April 16, 2018 1:41:00 AM (GMT Daylight Time, UTC+01:00)
# Monday, April 9, 2018
Monday, April 9, 2018 9:35:00 AM (GMT Daylight Time, UTC+01:00)
# Monday, April 2, 2018

ConsiderPhlebasBora Horza Gobuchul (aka "Horza") is a Changer - a shape-shifter, able to alter his appearance to look exactly like anyone else. He is also a mercenary working for the Indiran galactic empire.

"Consider Phlebas" begins with Horza imprisoned, tortured, and condemned to death by the Culture - a rival galactic Empire at war with the Idirans.

Horza is rescued by the Idirans and given a mission to travel to the planet Schar's World and capture a "Mind" - an advanced artificial intelligence designed by the Culture.

Along the way, he is attacked, ejected into space, rescued by space pirates, captured again, escapes, captures a spaceship, nearly arrested, and he meets other beings who follow him or subvert his mission or fall in love with him or try to eat him. Yes, it's a lot.

On Horza's journey, we encounter bizarre - sometimes hedonistic - societies. He is captured by a cult that worships a morbidly obese creature who eats people alive; and a card game in which the ultra-rich use the lives of poor people as the stakes in the game.

At times, the story seems disconnected as the players jump out of one predicament and into another.

The book's basic formula is a familiar one - a space opera set in the far future in which a lone mercenary takes on the might of an Empire. But there is plenty of action to keep the reader engaged. And plenty of dciverse characters to make the journey interesting.

But Banks does a good job of expressing the moral ambiguity of the universe - both in the main characters and in the two sides of the galactic war.

"Consider Phlebas" is the first of a 10-volume series. It was not enough to convince me to read the remaining 9 novels immediately. But it was good enough that I will consider returning to the series in the future.

Monday, April 2, 2018 12:51:00 PM (GMT Daylight Time, UTC+01:00)
# Sunday, April 1, 2018

Today I am grateful for a walk around the Alamo yesterday with Nick and Adriana.

Today I am grateful for:
-My first time attending a home Texas Rangers game at Globe Life Park in Arlington
-Lunch with Nik yesterday in Austin

Today I am grateful for:
-Coffee with Chander yesterday
-My first course lecture at the University of Texas

Today I am grateful for my first iPhone.

Today I am grateful for a busy day yesterday at the University of Illinois in Champaign.

Today I am grateful for a new pair of gym shoes from Tim

Today I am grateful I finally got my wireless Internet access set up in my new home.

Today I am grateful to deliver a keynote at the Global Integration Boot Camp yesterday.

Today I am grateful to return to Michigan for a couple days.

Today I am grateful to teach at Michigan State University for the first time.

Today I am grateful to return to #MIGANG last night.

Today I am grateful for a visit from Nick; and to spend time with him and Tim.

Today I am grateful for dinner with Nick and Tim last night.

Today I am grateful to live in a building with a good gym.

Today I am grateful to go to the movies last night for the first time this year.

Today I am grateful to spend this past week focused primarily on learning.

Today I am grateful for dinner with Becky last night.

Today I am grateful for my family.

Today I am grateful to write and deploy my first HoloLens app yesterday.

Today I am grateful to write my first Unity app yesterday.

Today I am grateful for dinner with Kent last night in downtown Seattle.

Today I am grateful to see C.J. Chenier in concert last night.

Today I am grateful to Christine for answering my questions yesterday.

Today I am grateful I had a chance to attend the Microsoft MVP Global Summit this week for the first time in years.

Today I am grateful
-to teach at the University of Washington yesterday for the first time ever;
-for an invitation to the MVP Summit attendee party
-to attend a MetaConference of community organizers

Today I am grateful for
-Dinner at Lot#3, courtesy of Sam and Ed
-The famous chezneward party at Ted and Charlotte's house

Today I am grateful to see so many old friends last night.

Today I am grateful for a week in Ontario.

Sunday, April 1, 2018 3:37:40 PM (GMT Daylight Time, UTC+01:00)
# Sunday, March 25, 2018

Ready_Player_OneThe world of 2044 kind of sucks.

Energy sources are depleted; cities are so overcrowded that people live in trailers stacked on top of other trailers; the economy is collapsing; and the police and media are controlled by a giant, evil corporation.

It's even tougher on Wade, an awkward teenage orphan living in a trailer stack in Oklahoma City. Wade, like most people in 2045, escapes harsh reality by spending most of his time in the Oasis - a virtual reality world with its own social structure and economy, created by the computer genius James Halliday. In the Oasis, Wade assumes the identity of Parzival and leaves his real-world problems behind.

When Halliday dies, his will promises his entire fortune (hundreds of billions of dollars) to the first person who can solve an elaborate scavenger hunt with clues left in the Oasis. Wade/Parzival devotes himself to finding the keys, gates, and egg in order to win the game. With so much at stake, just about everyone on Earth does the same. Including the evil multinational corporation IOI, which will stop at nothing to win.

Along his quest, Parzival is joined by friends that he knows only through their online Avatars.

Many of the game's clues are references to the pop-culture of the 1970s and 1980s that Halliday loved. As a result, the book is filled with references to books, video games, comics and movies from that era.

If you like non-stop action, you will enjoy this book. If you like, heavy-handed social commentary (unchecked greed is bad), you will like this book. If you like pop culture and nerd culture you will like this book. I got a kick out of knowing the relevant lyrics to a song before Parzival noted them as a clue to finding a key; or recognizing a Monty Python reference in the dialogue.

Ready Player One isn't perfect. Sometimes the list of nostalgia reads like product placement, rather than an attempt to build the culture or advance the story.

The book calls attention to social problems that exist today and, if left unchecked, may result in the dystopian future described therein. But it ignores the fact that the Oasis - a seeming Utopia created by the benevolent and altruistic Halliday - does nothing to address these problems. If anything, it makes the world worse by convincing everyone to spend their time in the virtual world, rather than working on re-building the real one. Halliday's contest intensifies this imbalance, leaving one to wonder if anyone is spending any time repairing roads, providing medical care, or extinguishing fires.

But, if you ignore this glaring weakness, the novel is great fun. Especially if you were a young nerd in the 1980s.

Sunday, March 25, 2018 1:17:12 PM (GMT Daylight Time, UTC+01:00)
# Monday, March 19, 2018

MemoryIn Mirror Dance, Lord Miles Vorkosigan was killed (or nearly-killed) in battle; then revived through the cryogenic technology of the future universe in which he lives.

Memory – the next novel chronologically in the Vorkosigan series - opens with the consequences of that resurrection. During a rescue operation, Miles has a seizure – a side effect of his revival treatments - which results in a serious injury to the target of his rescue. Miles increases his problems by lying about the incident in his report to his superior - Simon Illyan, which results in his discharge from both the Barryaran military and the mercenary band he led covertly under his Admiral Naismith alias.

Shortly afterward, Illyan suffers a mental breakdown and Miles suspects treachery. Miles has lost his military standing but gains an appointment from the Emperor to investigate.

Then, the detective story begins.

This is one of Bujold's stronger Vorkosigan novels.

It is a transition novel for Miles, the protagonist of this series, as he copes with the shattering of his dreams and transitions into post-military life. By doing so, Bujold sets up the characters to proceed in a new direction in this and future novels.

Bujold is masterful in her description of Miles's feelings after losing his lifelong dream of being a military leader. She excels also in her description of Illyan dealing with a similar forced transformation.

She explores themes of loyalty and duty in the face of weakness. Miles's relationship with those around him is complex - he is headstrong and often clashes with authority and with those who have injured him. But he grants respect even to those with whom he clashes. And his relationship with Illyan is especially well done.

And she introduces a subplot with the Emperor seeking a bride to be his Empress.

Memory is mostly a detective story. But the human elements and the evolution of familiar characters make it much more than this.

Monday, March 19, 2018 1:09:06 AM (GMT Standard Time, UTC+00:00)
# Tuesday, March 13, 2018

If you are interested in learning how to use the Cognitive Services APIs, I have created a set of exercises designed to take you through the basics of calling these services.

Lab 1 focuses on the Emotion API.

These exercises are open source and available here.

I have already used these materials at two university workshops this year.

You are free to use them – either for your own education or if you are hosting a workshop. I would appreciate any feedback you have. If you are very ambitious, you may do a pull request.

Tuesday, March 13, 2018 4:38:21 PM (GMT Standard Time, UTC+00:00)