# Monday, December 17, 2018

Episode 542

Jim Wooley on Static Analyzers and Roslyn

Microsoft MVP Jim Wooley describes how to use Roslyn to create your own static analyzers to verify the quality of your code.

Monday, December 17, 2018 9:48:00 AM (GMT Standard Time, UTC+00:00)
# Sunday, December 16, 2018

AppointmentInSamarraAppointment in Samarra by John O'Hara takes place over a 72-hour period in the small eastern Pennsylvania town of Gibbsville.

But three days is all it takes for Julian English to destroy everything good in his life.

Julian had it made. He was born into a wealthy family; he owned a car dealer that was successful even during the great depression; and he had a beautiful, faithful wife, who loved him.

But he drank. And one night, at a party, he grew tired of listening to loudmouth boor Harry Reilly and threw a drink in his face.  Julian quickly regretted his actions. Harry was an influential man in Gibbsville and Julian owed him money; but rather than correct the situation, Julian hurtles down a path of self-destruction for the next 3 days, alienating himself from the rest of society, burning bridges in his life, and spiraling quickly downward until he reaches a breaking point.

Appointment is an excellent look at America of the 1930s. It shows us the social castes, the gossip, the overt racism, and life inside a bubble that is small town America.

O'Hara does a masterful job of building the characters of this town and the dynamics between them.  He gives us a backstory about Julian's wife, so we understand why he is lucky to have her and a fool to risk losing her. We learn about Julian's family and the pressure his father places on him, so we understand why he sometimes feels useless and helpless.

Interestingly, none of Julian's acts of self-destruction are described in the book. We hear about them later as characters discuss what happened. Sometimes, it's unclear exactly what Julian did. For example, his wife sees him leave a night club with the girlfriend of a local mobster; then later finds Julian passed out drunk in his car. Did he commit adultery? It probably doesn't matter, as that was clearly his intent. And he is now in trouble with both his wife and the mob.

This is a book that got better as it went along. As the story progresses, Julian's downfall seems inevitable. But I could not look away. Appointment in Samarra is an American tragedy that is well worth watching.

Sunday, December 16, 2018 7:56:16 PM (GMT Standard Time, UTC+00:00)
# Thursday, December 13, 2018

GCast 26:

Creating a Chatbot in the Azure Portal

In this video, I show how to create, deploy, and edit a chatbot completely within your web browser using the Azure Portal. You can event download the source code and edit it in Visual Studio, if you wish.

Thursday, December 13, 2018 9:19:00 AM (GMT Standard Time, UTC+00:00)
# Wednesday, December 12, 2018

_Sharon2Sharon Spry was one of the finest people I've known.

She had a gift for understanding and relating and empathizing with others. She had a bright mind and a wonderful smile. She had a sense of humor that allowed her to laugh at the world and to laugh at herself and sometimes to laugh at her troubles.

She was someone I called when I was feeling down. She never failed to cheer me up.

She was someone I called to share good news. It always made me feel better.

She was always interested in what I was doing and always asking about my immediate family.

I was at her wedding where my 5-year-old son Timmy (now a grown man known as "Tim") served as a ring bearer.

Whenever I visited San Francisco, I made a point to visit her family. I stayed at their house many times.

_Sharon1She came to visit me on multiple occasions and we got together at places away from our homes.

A few years ago, she was diagnosed with cancer and was in and out of chemotherapy and other treatments. I’ve forgotten where the cancer started; but, by the end of this year, it had spread throughout her entire body.

I will always admire the courage with which she faced this disease. She was always open and honest about her chances and what she was going through. She didn’t ask for pity, but she didn’t hide anything or downplay the seriousness from the rest of us.

Sharon passed away last night at the age of 55. The cancer she battled the last few years finally overcame her.

She leaves behind a husband and two young children.

She was my cousin and my friend.

And I miss her.

Sharon (1) Sharon (3) Sharon (4)
Sharon (5) Sharon (6) Sharon (7)
Sharon (9) Sharon (10) Sharon (11)
Sharon (12) Sharon (13) Sharon (14)
Wednesday, December 12, 2018 9:41:27 PM (GMT Standard Time, UTC+00:00)
# Tuesday, December 11, 2018

StOursChurch-1When I was a boy, my grandmother wrote down the names of my male ancestors. This began with my father, who was preceded by my grandfather (her husband), my great grandfather (her father-in-law) and so on. Years later, I wondered why she did not provide similar for her own ancestors, but this question did not occur to me at that time.

She told the story of two brothers who married two sisters, then emigrated from France to Quebec. They settled in a small town called "St. Ours". One of the brothers was Francois Giard. Francois had a son named R.F. Giard, who had a son named Francois, who had a son named Philip, who had a son named Normand, who had a son named David, who is writing this story now.

StOursChurch-2Since hearing about St. Ours, it has always been a dream of mine to visit there. I was in Montreal for work a few weeks ago and a map of the area revealed that I was only an hour from St. Ours.

So on the final day of the workshop, I hopped in my rental car and drove East.

I arrived just before sunset. St. Ours sits on the Richelieu River, so I had to take a ferry to reach it. The town is tiny. It cannot have grown much in the last two centuries.

CemeteryI first found the church and was surprised not to find a cemetery next to it. The cemetery was a block away and the sun had set by the time I arrived. It wasn't large and many of the headstones were well over a century old. I walked around the darkness, feeling the chill of the night air and using my phone's flashlight to read the names carved into marble.  I could not find any Giards, but I did find a number of Girards and Girouards.

After a few photos, I made my way to a coffee shop on the outskirts of town, where I chatted with the lone employee in a combination of his broken English and my broken French.

GirouardI did not stay in St. Ours long enough to verify it was the home of my ancestors or find records of either of the Francois Giards or their descendent. But I stayed long enough to feel a connection. And, until I return, that is enough.

Tuesday, December 11, 2018 9:49:00 AM (GMT Standard Time, UTC+00:00)
# Monday, December 10, 2018

Episode 541

JD Marymee on Blockchain

JD Marymee describes the fundamentals of Blockchain and gives examples of how his customers are using it.

Monday, December 10, 2018 9:03:00 AM (GMT Standard Time, UTC+00:00)
# Sunday, December 9, 2018

SilmarillionThe Silmarillion by J.R.R. Tolkien is a collection of stories about Middle Earth - the world Tolkien created in his more famous works The Hobbit and The Lord of the Rings.

It begins with the creation of the world and the Ainur, immortal beings who would take physical form and become the Valar and the Maiar. They go on to create elves, men, dwarves, and all the races that would populate Middle Earth.

It ends with the rise of Sauron, the creation of the rings of power, and the beginning of the Third Age, which is chronicled in detail in the two stories mentioned above.

In between are stories of gods and elves and men and battles and romances and how the world  of Middle Earth came to be. There is the love story of Beren and Luthien and there are epic battles and there are evil creatures, such as orcs and dragons and balrogs. There is much battling of the evil Melkor throughout the ages.

It is a very ambitious work, covering the thousands of years of the first two ages of Middle Earth.

These stories were written by J.R.R. Tolkien, but not published until after his death. His son Christopher compiled and edited them for this book.

The Silmarillion is a difficult book to read. Keeping track of the many  names of people and places is a challenge. They tend to have long, unfamiliar names, many of them go by multiple names; and they often pop up in the book once, never to return. In addition, the prose reminds me of a translation of an ancient text - descriptions are long and poetic. But

It's hard to imagine someone enjoying these stories who is not already a fan of the Middle Earth mythos. But it's hard to imagine someone who fell in love with Middle Earth through The Hobbit and the Lord of the Rings not finding pleasure in these stories.

But, if you are a fan of Tolkien and wish to dive deeper into the history of the world he created, you will enjoy The Silmarillion.

Sunday, December 9, 2018 9:29:00 AM (GMT Standard Time, UTC+00:00)
# Saturday, December 8, 2018

JourneyToCenterEarthIt was 1864 and not much was known about the interior of the Earth. But that did not stop Jules Verne from writing an adventure story about 3 explorers, on a quest to reach the Earth's center.

Verne took what he knew about geology and combined it with his own fertile imagination to create "Voyage au centre de la Terre", which has been translated into English as Journey to the Center of the Earth.

The story is told in the first person by Axel, a young German, whose uncle - the brilliant and eccentric Professor Lidenbrock - discovers an encoded message written centuries earlier. The message describes a volcano in Iceland with underground passages that lead to the Earth's center. So, the uncle and his reluctant nephew set out for Iceland and, along with their guide Hans, descend into the bowels of the Earth in an attempt to reach the center.

The story takes a while to get going, as the men prepare for their adventure and travel to Iceland; but once they descend into the volcano, they encounter wild creatures and monstrous vegetation and violent weather and many other dangers. The second half of the novel is a thrill ride.

I like how detailed Verne is about the world his explorers encounter and how rational he is about their explanations. Of course, he was limited by the existing scientific knowledge of the 19th century; but he does well within these limits. Although many of the "scientific" points of the story are now known to be false, Verne creates a believable story by providing plausible explanations - mostly through the mouth of professor Lidenbrock - for what the party experiences.

It makes sense that prehistoric creatures could escape extinction for millennia below ground, where they were isolated from the topside environment. It makes sense that underground caverns could be illuminated by electrical charges in the gas. It makes sense that vast underground caverns could contain enormous seas on which to carry the travelers.

For some inexplicable reason, my translation changed the names of the main characters from Professor Lidenbrock and Axel to Professor Hardwegg and Harry.

But this did not diminish Journey to the Center of the Earth for me. It is a grand adventure story that I enjoyed as a teenager and enjoyed again today.

Saturday, December 8, 2018 9:10:00 AM (GMT Standard Time, UTC+00:00)
# Friday, December 7, 2018

Azure Machine Learning Studio (ML Studio) gives you the ability to create experiments to generate machine learning models on existing data.

But first, you must get data into ML Studio. ML Studio runs in the Azure cloud; so, if that data is on your local hard drive, you will need to import it.

You can do so by creating a new data source.

Sign into Machine Learning Studio and select "DATASETS" from the left menu, as shown in Fig. 1.

Fig. 1

To create a new dataset, click the [+NEW] button (Fig. 2) at the bottom left of the screen.

Fig. 2

From the popup menu, DATASET | FROM LOCAL FILE, as shown in Fig. 3.

Fig. 3

The "Upload a new dataset" dialog displays, as shown in Fig. 4.

Fig. 4

Click the [Browse…] button and select a file from your local computer and click the [Open] button, as shown in Fig. 5.

Fig. 5

This closes the "File Open" dialog and returns you to the "Upload a new dataset" dialog, as shown in Fig. 6.

Fig. 6

At the "ENTER A NAME FOR THE NEW DATASET" field, enter a name by which you wish to refer to this dataset in your ML experiments. This defaults to the filename on your computer.

At the "Select a dataset type…" dropdown, select the format of the file you selected.

Click the Check button when finished.

The file uploads to the cloud server and is listed in the "DATASETS" tab, as shown in Fig. 7.

Fig. 7

Once you have uploaded a file as a dataset, it is available within any of your experiments. From within an ML Experiment, expand "Saved Datasets" and "My Datasets". Your file should be listed under "My Datasets", as shown in Fig. 8.

Fig. 8

You can drag this dataset onto your experiment design surface to work with it.

In this article, I showed how to create a dataset, based on a file on your local computer.

Friday, December 7, 2018 9:10:00 AM (GMT Standard Time, UTC+00:00)
# Thursday, December 6, 2018

GCast 25:

Azure Durable Functions

By default, Azure Durable Functions are stateless. But durable functions allow you to maintain state across multiple, long-running functions.

Thursday, December 6, 2018 9:20:00 AM (GMT Standard Time, UTC+00:00)