# Saturday, March 23, 2019

RabbitRunHarry "Rabbit" Angstrom isn't much good at anything. In high school, he was an outstanding basketball player, but he has accomplished little since then. After tasting that early success, life feels empty at 26 - trapped in a boring job and a loveless marriage to an alcoholic wife.

So, one day, he abandons his pregnant wife Janice and their toddler son and moves in with a prostitute.

Rabbit - the main character of John Updike's 1960 novel Rabbit, Run - is decidedly unlikeable. He is self-absorbed and shallow and oversexed and manipulative. Still, those around him seem to like him and are more than willing to give him multiple chances to prove his integrity. It may be because he says and does whatever comes into his head. But his tendency toward immediate gratification is his main problem and often comes at a high cost to others. Rabbit never considers the consequences of his actions or the people he hurts as he runs from his responsibilities and obligations.

In particularly examples of self-absorption and manipulation, he coerces his lover into performing fellatio, because he learns she once did it for someone else. The next morning, he abandons his lover and returns to his wife without even a phone call. A few weeks later, he storms out of his apartment when his wife refuses to have sex with him shortly after giving birth.

Updike has a way of keeping the reader engaged, even during the most mundane moments. We see inside Rabbit's mind and feel his rationalizations. But the story isn't just about Rabbit. Updike tells the thoughts of the others in Rabbit's lives and their troubles. And many of them also run from their troubles - particularly Janice, who escapes into alcohol.

Of course, the most dramatic parts of the story are also engaging. I could not look away as Updike described the inevitable tragedy near the end of the book. Rabbit's wife is home with their baby, and she is drinking when "the worst thing that has ever happened to any woman in the world has happened to her." We see it coming a mile away, but it is still a shock, when it happens.

Rabbit, Run is a good look into the psyche of an American male trying to find himself, and what happens when he focuses too much on that goal.

Saturday, March 23, 2019 8:08:00 AM (GMT Standard Time, UTC+00:00)
# Thursday, March 21, 2019

GCast 40:

IoT Hubs

Azure IoT Hubs allow you to send and receive messages between devices all over the world and Azure.

Thursday, March 21, 2019 8:35:00 AM (GMT Standard Time, UTC+00:00)
# Monday, March 18, 2019

Episode 554

Kevin Griffin on Whats New in SignalR

Kevin Griffin returns to the subject of SignalR, describing the advances in this push technology since we last spoke of it years ago.

Monday, March 18, 2019 8:11:00 AM (GMT Standard Time, UTC+00:00)
# Sunday, March 17, 2019

NakedLunchNaked Lunch by William S. Burroughs is a difficult book to read and to understand. I'm still not sure I do.

The book consists of a series of descriptions of the visions seen while high on heroine, morphine, or some derivative thereof. Many of the visions consist of deviant sexual fantasies, including sadomasochistic scenarios so extreme that they lead to murder and suicide.

Burroughs was one of the most famous writers of the influential "Beat Generation", although he never approached the fame and success of his friends Allen Ginsberg and Jack Kerouac

Burroughs spent much of his adult life in a drugged-out haze and many of the visions told here are based on his own experiences. "Naked Lunch” written largely in a drug-induced haze, which may have increase Burroughs's creativity; but it clearly pushed him toward a very confused story.

Shortly after its publication, Naked Lunch was banned as pornography in Massachusetts.

I disagree with attempts to ban this book; but I fail to see its value as a classic. It is a non-linear narrative with no discernable plot or story. Apparently, several of the characters are the same character with different pseudonyms. But I don't know how anyone could figure that out without being told. As a result, it is far less compelling than other non-linear classics, such as Joseph Heller's excellent Catch-22.

I respect the fact that Burroughs pushed boundaries in the literary world and that he influenced other writers. The author sometimes captures the paranoia and other-worldliness of drug addiction. But Naked Lunch tries too hard to shock the reader. I can only take so much talk of vomit and jizz and people shitting themselves before it all sounds like rambling.

I will give the book the credit it deserves for one thing: The great rock/jazz band Steely Dan took their name from a brand of sex devices described in Naked Lunch.

Sunday, March 17, 2019 8:37:00 AM (GMT Standard Time, UTC+00:00)
# Saturday, March 16, 2019

OddAndTheFrostGiantsNeil Gaiman knows how to tell a story. And Odd and the Frost Giants is no exception.

Odd was a crippled Norse boy in the age of the Vikings. Odd's father was dead, and his mother had re-married a neglectful man. One day, Odd rescued a bear and was followed home by the beast, along with an eagle and a fox. The three creatures turned out to be the gods Thor, Odin, and Loki transformed by an evil frost giant and cast out of Asgard, as part of a plot to steal Thor's hammer Mjolnir and to kidnap the beautiful goddess Freya.

Odd and the trio set out for Asgard to rescue Mjolnir and Freya.

Undersized and weak, Odd proves more valuable than expected.

This is a short, but delightful book - not only for its story and its characters - but for Gaiman's prose. One can imagine him sitting around a campfire and relaying the tale to a circle of Vikings who listen in wonder. As a bonus, each chapter features a beautiful ink drawing by Brett Helquist. Readers of "A Series of Unfortunate Events" will know his work; but, in this book, each drawing has the look of a woodcut, giving it a distinctly Nordic feel.

Odd and the Frost Giants is targeted at school-age children, but I am well into my 50s and I enjoyed it.

Saturday, March 16, 2019 8:33:00 AM (GMT Standard Time, UTC+00:00)
# Friday, March 15, 2019

IMG_3727Not only did I fail to see "Miss Saigon" in the 20 years since its premier in London's West End, I failed to learn anything about the show. I didn't know who wrote it, I haven't heard a song, and I did not know the plot. I didn't even know that it is an adaptation of Puccini’s "Madame Butterfly" opera.

That all changed Thursday night at the Wharton Enter in East Lansing, MI. My niece and I braved a hail storm and flooded streets to grab second-row tickets to see a touring company as it passed through mid-Michigan.

To spoil it for those of you who did as little research as I did: Miss Saigon tells the story of Chris, an American G.I., who falls in love with Kim, a young Vietnamese girl during the Vietnam War. When Saigon falls to the Viet Cong, Chris escapes, but Kim does not. It's a tragic story of war and lost love and what might have been.

The performance at Wharton was wonderful,

Emily Bautista and Anthony Festa moved our hearts as the star-crossed lover.

But the show was stolen by "The Engineer" - a sleazy night club / brothel host/manager, who manipulates Kim and other women, but somehow gains some sympathy from the audience. I believe Thursday night's performance featured understudy Eymard Cabling, rather than the regular Red Concepcion in this role. Regardless, he played the character flawlessly.

Another scene-stealer was the micro-urchin who played Kim's son Tam. He had no lines, but he overwhelmed us with is cuteness every time he stepped on stage.

I didn't hear any hit songs, but he music of "Miss Saigon" always satisfied. Song flowed into song so frequently that there were fewer opportunities to applaud than most shows afford. There were no low points in a lovely musical score, which was carried well by the cast.

The stage setting was very impressive for a small-city touring company. The highlight was a helicopter that loomed over the U.S. Consulate in Saigon to rescue the last of the refugees before the city's fall. One could almost smell the diesel coming off this impressive effect.

The final scene left the audience in tears.

Our attendance was a late decision, but this was an evening very well spent and one I will remember for a long time. It was well worth a trek through the hail and floods.

Friday, March 15, 2019 2:20:53 PM (GMT Standard Time, UTC+00:00)
# Thursday, March 14, 2019

GCast 39:

Azure Search REST API

Azure Search allows you to make your internal data searchable in the same way that search engines like Google and Bing make public information on the Internet searchable.

Thursday, March 14, 2019 8:31:00 AM (GMT Standard Time, UTC+00:00)
# Wednesday, March 13, 2019

Sometimes, I like to build fancy automations in Microsoft PowerPoint.

PowerPoint provides a simple way to animate objects on a slide. The steps are:
Select an object,
choose an animation
Set properties (e.g. timing) of that object

When a slide has a complex animations, you can end up with a lot of objects to manage. Sometimes those objects are stacked on top of one another, as shown in Fig. 1.

sp01-OverlappingShapes
Fig. 1

This makes it difficult to select the desired object. Further, if some shapes look alike, it's difficult to know which one to select.

PowerPoint provides a feature to help with this: The Selection Pane.

It's a good bet you've never used the Selection Pane, because it is not obvious where to find it.

To show this pane, select the Home ribbon (Fig. 2); then, select Select | Selection Pane, as shown in Fig. 3.

sp02-HomeRibbon
Fig. 2

sp03-SelectionPaneButton
Fig. 3

The Selection Pane displays, as shown in Fig. 4.

sp04-SelectionPane
Fig. 4

Each object on the current slide is listed. Notice that it each item is given a generic name, based on the type of shape.

You can rename any shape by double-clicking the shape name in the Selection Pane, typing in a new name, and pressing ENTER, as shown in Fig. 5 and Fig. 6.

sp05-RenameObject1
Fig. 5

sp06-RenameObject2
Fig. 6

Fig. 7 shows all the objects with more meaningful names. When I'm working with a complex slide, I like to rename each object to something to easily identify it.

sp07-RenameAllObjects
Fig. 7

Clicking the icon to the right of each object name allows you to toggle the visibility of that object. Hiding objects on top of and around an object can make it much easier to select and work on a given object. Fig. 8 shows the slide with every object hidden except the 2 circles.

sp08-HideObjects
Fig. 8

When you are finished working on objects, click the icon(s) again to reveal the hidden objects.

The PowerPoint Selection Pane is a little-used feature that can make it much easier to work with animations and complex slides in PowerPoint.

Wednesday, March 13, 2019 7:04:08 PM (GMT Standard Time, UTC+00:00)
# Tuesday, March 12, 2019

In a previous article, we saw how to create an Azure IoT Hub.    

In this article, we will show how to add devices to the IoT Hub.

When I first began working with IoT hub devices, I was confused by language that suggested I was "Adding" or "Creating" a device. What we are really doing is registering a device with the hub, so that a physical device of the same name can communicate with this hub. When you see words like "Add" and "Create", think of the fact that it is adding and creating the registration entry.

To begin, log into the Azure Portal and navigate to your IoT Hub, as shown in Fig. 1.

id01-IotHubOverviewBlade
Fig. 1

Click "IoT devices" to open the "IoT devices" blade, as shown in Fig. 2.

id02-IotDevicesBlade
Fig. 2

If this hub has any devices, you will see them listed. You can use the fields at the top to filter the list to more quickly find one or more devices.

To add a new device, click the [Add] button (Fig. 2) to display the "Create a device" blade, as shown in Fig. 3.

id03-AddDeviceButton
Fig. 3

id04-CreateADevice
Fig. 4

At the "Device ID", enter a name for this device. The name must be unique among this hub's devices.

At the "Authentication type", select the type of authentication you wish this device to use. If you select "Symmetric key", you have the option to enter your keys or allow the system to generate keys for you.

Click the [Save] button to create this device.

After a few seconds, the device is created and displays in the device list of the "IoT devices" blade, as shown in Fig. 5.

id05-IotDevicesBlade
Fig. 5

If you click on the device, you can see the "Device details" for this device, as showin in Fig. 6.

id06-DeviceDetails
Fig. 6

The connection string is required to target this specific device.

Now that you have a device registered, a device of that name can communicate with this hub.

Azure | IoT
Tuesday, March 12, 2019 9:48:00 AM (GMT Standard Time, UTC+00:00)
# Monday, March 11, 2019

Episode 554

Ondrej Balas on 2-Factor Authentication

Ondrej Balas discusses advances in 2-Factor Authentication and tells us how to add this security to our applications.

Monday, March 11, 2019 9:31:00 AM (GMT Standard Time, UTC+00:00)