# Sunday, September 2, 2018

Today I am grateful to John for loaning me a necktie when I forgot to bring one.

Today I am grateful I was able to celebrate Kara and Christian's wedding with them  yesterday.

Today I am grateful to the bank employee, who unlocked the door when she saw me walking up yesterday, even though it was a minute after closing time.

Today I am grateful to have Nick visit for a few days.

Today I am grateful for lunch with Donovan yesterday.

Today I am grateful to visit the Adler Planetarium for the first time yesterday.

Today I am grateful my coffee machine is fixed after a weeklong nightmare.

Today I am grateful for:
-Lunch with Dan and his friends yesterday
-My first visit to the Irish American Heritage Center last night

Today I am grateful for 24 hours in southwest Michigan.

Today I am grateful for a walk around North Lake Park in Stevensville yesterday.

Today I am grateful for a long bike ride yesterday.

Today I am grateful my son saw me speak at a user group for the first time.

Today I am grateful for dinner and drinks last night with Suzanna and Paul.

Today I am grateful for lunch with Tim yesterday.

Today I am grateful to attend the Evanston Art & Fork Festival last night.

Today I am grateful for breakfast yesterday with Debbie and Diane.

Today I am grateful to see Electric Light Orchestra in concert last night and to reconnect with old friends.

Today I am grateful to present at a user group last night for the first time in 5 months.

Today I am grateful to see Stacy Keach at the Goodman Theatre last night.

Today I am grateful that a bunch of people responded yesterday to the emails I sent last week.

Today I am grateful for a walk along Loyola Beach yesterday.

Today I am grateful for a visit from Doug and Sherree and Sterling and Dylan this weekend.

Today I am grateful to attend an exciting Cubs-Nationals game yesterday.

Today I am grateful for late-night beers with Ondrej

Today I am grateful to attend Sarah's Going-Away party last night.

Today I am grateful for an annual physical exam yesterday.

Today I am grateful to attend a celebration last night for Girl Develop It - Chicago.

Today I am grateful for my new Echo Dot.

Sunday, September 2, 2018 4:33:59 PM (GMT Daylight Time, UTC+01:00)
# Friday, August 31, 2018

The Galactic Empire has existed for thousands of years and seems to be powerful with a bright future. But not to psychohistorian Hari Seldon.

Using advanced mathematics and his newly-created science of "psychohistory", Seldon predicts that the Empire will soon collapse and be followed by a dark period lasting 30,000 years, until a new Empire will finally rise again to restore technology and culture to the galaxy. The collapse is inevitable, but Seldon has a plan to reduce the dark period to 1,000 years. That plan involves the Foundation - a colony of scientists placed on a remote planet at the edge of the galaxy and a set of crises that must be overcome over the next centuries.

This is the universe of Foundation by Isaac Asimov.

Long after Seldon's death, he continues to influence the society he founded. He periodically appears in a recorded holovision to announce the arrival and resolution of a "crisis" - crises that he predicted would occur and for which he accurately predicted the resolution.

Foundation is told in a collection of short stories, set many thousands of years in the future. Each story takes place a few decades after the one before it, so we have little time to get to know the characters - only how they influence their society. The characters are less interesting than Seldon's master plan and his application of psychohistory to each crisis. The forces that motivate society, such as politics, military force, religion, and commerce take center stage in these stories. Seldon knew he could not predict the behaviors of individuals not yet born, so he combined sociology, mathematics, and statistics to look at the behaviors of populations in aggregate and predict what how entire societies would react to the forces around them. Of course, this idea is applied today - both in the real world and in speculative fiction.

Three quarters of a century after its publication, Foundation remains a strong novel. It was published as part of a trilogy in the early 1950s, and Asimov later released many sequels and prequels. Eventually, he tied together these stories with his popular Robot novels, setting the Foundation, Empire, and Robot series all in the same universe.

Science fiction has been heavily influenced by Asimov and his Foundation series. Other writers have written about mankind's colonization of space and a galactic empire. Certainly, George Lucas was aware of this series when he created the Star Wars universe. And in 1966, the prestigious Hugo Award declared the Foundation trilogy to be the Best All-Time Science Fiction Series.

And it all began in the 1940s, when a 22-year-old Asimov published a short story that would later be compiled into a book that would be volume 1 of a trilogy that would launch a universe that would influence the world.

Friday, August 31, 2018 12:48:14 PM (GMT Daylight Time, UTC+01:00)
# Thursday, August 30, 2018

GCast 11:

Azure Media Services - Uploading, Encoding, and Sharing a Video

Learn how to Upload, Encode, and Share a Video using Azure Media Services.

Azure | GCast | Screencast | Video
Thursday, August 30, 2018 9:29:00 AM (GMT Daylight Time, UTC+01:00)
# Wednesday, August 29, 2018

Azure Storage allows several options for managing replication of your stored data. You can read about these options in this article.

You can set the Replication Type when you create an Azure storage account (Fig. 1)

Fig. 1

But, at first glance, it appears that you cannot change the Replication Type after you create the account. The "Overview" blade (Fig. 2) lists the Replication Type, but you cannot change it here.

Fig. 2

However, the "Configuration" blade (Fig. 3) also lists the Replication Type.

Fig. 3

On this blade, you can click the "Replication" dropdown (Fig. 4) and change the type.

Fig. 4

Click the [Save] button (Fig. 5) to make these changes permanent.

Fig. 5

Wednesday, August 29, 2018 4:05:20 PM (GMT Daylight Time, UTC+01:00)
# Tuesday, August 28, 2018

A caption file can enhance a video file by displaying any dialog as text at the bottom of the video. This is helpful for people who are hard of hearing, for people who do not understand the language spoken in the video and for those who want to play a video at low volume or muted.

Azure Media Services allows you to quickly create a caption file for your saved videos. The steps are:

  1. Create Azure Media Service
  2. Upload File
  3. Encode Asset
  4. Analyze Video
  5. Download VTT file
  6. Upload VTT file
  7. Share video

I described in detail how to perform steps 1-3 in this article.

Analyze Video

After you have encoded your video, you can use the "Analyze" function to generate the following files:

  • A caption file in the TTML format.
  • A caption file in the SAMI format
  • A caption file in the WebVTT format

I have no statistics to back this up, but I see WebVTT used more than the other 2, so I typically stick with this.

To run the "Analyze" function, open your Azure Media Service in the Azure Portal and open the "Assets" tag as shown in Fig. 1.

Fig. 1

Click the Asset corresponding to the asset corresponding to the encoded video to open its blade, as shown in Fig. 2.

Fig. 2

Click the [Analyze] button (Fig. 3) to open the "Media Analytics" blade, as shown in Fig. 4.

Fig. 3

Fig. 4

Check the checkboxes next to the Closed Caption file formats (and other files) you wish to crate; then click the [Create] button at the bottom to begin creating these files.

This creates and schedules a new job for this Azure Media Service. You can click the "Media Analytics job added" link (Fig. 5) at the top of the blade or you can open the "Jobs" blade for this Media Service and click the most recent job added. Either method will display the blade for this Job, as shown in Fig. 6.

Fig. 5

Fig. 6

Jobs run asynchronously in Azure Media Service, so you can continue to work or stay on the Job blade to monitor its status. The status changes from "Scheduled" to "Queued" to "Processing" to "Finished". While processing, the blade will display the percent complete.

When the job is finished, you will see a new asset in the "Assets" blade for the indexed video, as shown in Fig. 7.

Fig. 7

Click this asset to open the blade for the Analytics files created by this job, as shown in Fig. 8.

Fig. 8

To make these files available for download, you must publish them. To do so, click the [Publish] button (Fig. 9), which opens the "Publish the asset" blade, as shown in Fig. 10.

Fig. 9

Fig. 10

After you have published these files, you can download any or all of them. They are listed at the bottom of the Analytics files blade (Fig. 8)

Click the file with the ".vtt" extension to open a blade for this file, as shown in Fig. 11.

Fig. 11

The important information is the DOWNLOAD URL field. You can copy this value to your clipboard by clicking the icon to the right of this field.

### Download VTT file

Use CURL to download this file. If CURL is not installed on your computer, you can install it from https://curl.haxx.se/download.html.

Open a command prompt and type

curl -o "fffff.vtt" "http://xxxxxxxxxxxxxxx"

where http://xxxxxxxxxxxxxxx is the DOWNLOAD URL copied from the blade; and fffff.vtt is the name of the local file you want to create when you download this file.

Verify that a new file was created.

Upload VTT file

Now upload this VTT file to the video asset. Open the Azure Media Services "Assets" blade and select the Asset for the originally uploaded video to open the blade for this video asset, as shown in Fig. 12.

Fig. 12

Click the [Upload captions] button (Fig. 13) to open the "Upload caption file" blade, as shown in Fig. 14.

Fig. 13

Fig. 14

Click the [Select File] icon (Fig. 15) and select the VTT file you downloaded with CURL.

Fig. 15

Share video

Now, you can share the video, using a Media Player.

A simple one to use is the Azure Media Player, available at https://ampdemo.azureedge.net/

Information on using this player with Azure Media Services is in this article.  http://davidgiard.com/2018/08/21/UploadingEncodingAndSharingAVideoWithAzureMediaServices.aspx.

You will need the URL of the video to play, which you can by selecting the Encoded Videos asset from the "Assets" blade to open the properties for this asset, as shown in Fig. 16.

Fig. 16

Copy the Streaming URL at the bottom of this blade under the "Published URLs" section. (NOTE: If nothing is in this section, you need to publish this asset.)

In Azure Media Player, copy this URL into the URL field, omitting the "http:", as shown in Fig. 17.

Fig. 17

The copied text should look something like this:


It will end with the name of your video asset, followed by ".ism/manifest".

Click the [Update Player] button and verify that your video plays properly.

If it plays properly, check the "Advanced Options" checkbox to display more options and scroll to the bottom, as shown in Fig. 18.

Fig. 18

Click the [Add Track] button to display new track information, as shown in Fig. 19.

Fig. 19

At the "Kind" dropdown, select "Captions"

At the "Track Label" field, enter "English" or the name of the language in which the video is recorded. This text will display in the "Closed Captioning" control.

At the "Language" dropdown, select "English" or the language in which the video is recorded.

At the WebVTT URL, enter the URL of the uploaded VTT file. This will be identical to the video URL. The name of the VTT file will replace the name of the video asset, followed by ".ism/manifest".

It should look similar to this:


Fig. 20 shows these fields completed for my video.

Fig. 20

Click the [Update Player] button.

Now, when you play the video, you should see a "CLOSED CAPTIONING" icon at the bottom right. Click this to reveal the CLOSED CAPTIONING setting and select the caption language you just added (English in the case of the video in Fig. 21)

Fig. 21

With the captions enabled, you should see text below your video whenever anyone is speaking, as shown in Fig. 22.

Fig. 22

In this article, I showed you how to create closed captioning and share a video that includes this captioning.

Tuesday, August 28, 2018 9:38:00 AM (GMT Daylight Time, UTC+01:00)
# Monday, August 27, 2018
# Sunday, August 26, 2018

SIASLI do not hold Stranger in a Strange Land by Robert A. Heinlein as the science fiction classic that some readers rate it. But I give it an extra star for the introduction of the word "grok" - a word meaning many things, but mostly : "to understand something so well as to internalize its meaning". "Grok" has been adopted by geek culture - a culture in which I spend a great deal of time these days - to indicate comprehension of a complex technical topic.

Vernon Michael Smith ("Michael") was stranded on Mars as an infant when his spaceship crashed, killing all other crew and passengers. He was raised by Martians until he returned to Earth decades letter on the next manned ship to and from Mars.

The governments of Earth view Michael as an oddity -  a noble savage with an intelligent mind, who lacks the advantages of civilization. But Michael is civilized according to Martian culture. And he possesses great powers taught him by the Martians, including the ability to direct his consciousness to leave his body and the ability to make objects and people move or disappear with just a thought.

The government tries to keep Michael a prisoner; but he escapes with the aid of Jill - a nurse in the hospital where he is confined - and Jubal - a retired author living in seclusion. While on the run from the government, Michael joins a circus and then a church, where he rises to a position of leadership. The church preaches the pursuit of joy and free love, which pisses off many other Americans.

As time passes, Michael becomes more like his fellow Earthmen. But he also influences them to adopt many of his Martian ways.

Michael's parallel to the life of Jesus is unmistakable. He is first exposed to the public in his adulthood and he quickly enters the public consciousness, impressing people with his powers, before taking over and influencing a small religion - an action for which he is hunted down and persecuted.

There are some troubling bits of sexism in this book: "Nine times out of ten, if a girl gets raped, it’s at least partly her own fault", according to Jill, the main female character of the novel. One can chalk this up to the book's 1961 publication date or condemn the author as a misogynist. To its credit, Jill and other characters are stronger and more assertive than most characters appearing in novels of this era.

And there are long passages of preaching by Jubal, Michael, and others that sometimes grow tiresome. I would prefer the philosophy is told through the narration, rather than the characters making speeches.

But Stranger in a Strange Land is an enjoyable story, if you take the time to grok it.

Sunday, August 26, 2018 9:49:00 AM (GMT Daylight Time, UTC+01:00)
# Saturday, August 25, 2018

In an earlier article, I showed how to create an Azure Media Service; then, upload, encode, and share a video with that service.

In this article, I will show how to live-stream video content using Azure Media Services.

You will need to install some streaming software on your computer to do this. I chose Wirecast by Telestream. You can download a free trial at https://www.telestream.net/wirecast/overview.htm. You may use any software you like.

The 3 steps to live streaming with Azure Media Services are:

  1. Configure an Azure Media Service
  2. Stream your content with streaming software
  3. Share the stream


First, create an Azure Media Service, as described in Step 1 of this article.

Open your Azure Media Service and select "Live Streaming" from the menu to open the "Live Streaming" blade, as shown in Fig. 1.

Fig. 1

In the "Live Streaming" blade, click the [Quick create] button (Fig. 2) to open the "Quick Create Channel" blade, as shown in Fig. 3.

Fig. 2

Fig. 3

At the "Name" field, enter a name for this channel.

Verify that the "Automatically start the channel after creation" checkbox is checked.

Click the [Create] button to create the channel.

After a few minutes, the channel will display with a status of "Running" in the list on the "Live Streaming" blade, as shown in Fig. 4.

Fig. 4

NOTE: The Quick Create option creates a channel with RTMP protocol, Pass Through encoding, and no IP restrictions on viewing the stream. This works fine in many cases; but, if you would like different settings, you can click the [Custom create] button instead.

Click the channel in the list to open a blade for that channel's details, as shown in Fig. 5.

Fig. 5

Note the INGEST URL (Primary) field. You will need this in your streaming software. The icon to the right allows you to copy this value to your clipboard.

Click the [Live event] button (Fig. 6) at the top of the Channel blade to open the "Live Event" blade, as shown in Fig. 7

Fig. 6

Fig. 7

At the "Name" field, enter a name for your Live Event. It must be unique for this channel.

Click the [OK] button to create and start the live event.


You will need to configure your streaming software to stream to Azure Media Service. The instructions below are for Wirecast, but you may use any streaming software you like.

Launch Wirecast.

From the menu, select Output | Output Settings.

If prompted, set the Destination to "RTMP Server" and click [OK], as shown in Fig. 6

Fig. 8

The "Output Settings" window displays, as shown in Fig. 7.

Fig. 9

In the "Address" field, paste the INGEST URL (Primary) value from the Azure Media Service channel blade from Step 1.

The Layers are at the bottom of the Wirecast UI. Select the [+] icon to the left of the first layer, as shown inf Fig. 8.

Fig. 10

In the "Add Shot" dialog, expand video capture and select your front facing camera and click the [Add] button, as shown in Fig. 9.

Fig. 11

You will see the image from the camera in the Preview window, as shown in Fig. 10

Fig. 12

NOTE: Alternatively, you may wish to share a screen capture or a different camera or one of the other options.

The image captured from your camera will display in the "Preview" window. Make this the live image by clicking the "Go" button (Fig. 11) below the Preview window.

Fig. 13

The image will now also appear in the Live window to the right of the Preview window, as shown in Fig. 14

Fig. 14

From the menu, select Output | Start/Stop Broadcasting | Start RTMP Server, as shown in Fig. 15.

Fig15-Start Broadcasting
Fig. 15

An error displays if the channel is not running or if you improperly copied the Ingest URL.


Return to the Azure portal and open the "Live Event" blade, as described above.

Click the [Watch] button (Fig. 16)

Fig. 16

If successful, you should see your live stream in a preview window, as shown in Fig. 17.

Fig. 17

You can share the video by copying the "PLAYBACK URL" into any player. I did so using the Azure Media Player The results are shown in Fig. 18.

Fig. 18

In this article, I showed you how to use Azure Media Services to live stream a video.

Saturday, August 25, 2018 8:47:56 PM (GMT Daylight Time, UTC+01:00)
# Thursday, August 23, 2018

GCast 10:

Azure Linux Virtual Machines

Learn how to use the Chocolatey package manager to quickly install Windows applications and their dependencies.

DevOps | GCast | Video
Thursday, August 23, 2018 9:09:00 AM (GMT Daylight Time, UTC+01:00)
# Wednesday, August 22, 2018

19841984 by George Orwell describes a society in which everything is completely controlled by the government, which is controlled by "The Party". Not only are specific actions illegal, but so are many thoughts. Independent thinking, love, and questioning or even doubting the word of The Party are crimes dealt with in the harshest way. The Party has perfected ways of maintaining its authority.

In the giant country of Oceania, it is illegal to question anything the government says. If they tell you that 2+2=5, you must accept this without question.

Citizens routinely disappear, and all traces of their existence are wiped from the public record. Torture is a  common punishment for transgressions.

The country of Oceania is constantly at war with one of the other two countries in the world. No one has seen the war, but the threat of these enemies justifies oppressive measures against the citizens of Oceania.

Citizens are under constant surveillance - from pervasive electronic devices and from other citizens. Every home contains a Telescreen, that broadcasts party programs and watches and hears everything in the room 24 hours a day; Children are encouraged to inform on their parents and workers to turn in their colleagues.

The Party is developing a new language - "Newspeak", which eliminates dissident ideas by removing words that describe free thought as a way of eliminating the very concepts from the minds of the people.

The Party controls all communications, including newspapers, TV, and books. Books that do not glorify The Party are either destroyed or  rewritten.

When The Party changes its name or breaks a promise, or a prediction proves false, all previous news sources are modified to match the current dogma.

The mission of The Ministry of Truth is to rewrite newspapers and other historical records to match the current position of The Party.

Winston Smith is a low-level bureaucrat working in The Ministry of Truth. He has lost faith in the government, but his fear keeps him playing by its rules. Then, he meets and falls in love with Julia. Together they defy The Party by have a secret affair and, eventually, by plotting to actively work against The Party. Smith even keeps a secret diary of his thoughts and doubts - a serious offense.

Their affair gives them brief hope, but The Party is powerful, and its agents are far-reaching. And they know how to manipulate both actions and thoughts. Winston and Julia try desperately to maintain thier humanity, but The Party is desperate to maintain its power. Suffice it to say this is not a happy love story.

This book has maintained its importance in part because it is believable, despite the extremes of the society. It describes how those in power will do almost anything to maintain that power. Orwell's details are extraordinary. He builds a society with controls in place to suppress the populace completely.

If the book has any weakness, it is when it switches to explicit explanations of how the government is conspiring against its own people. For me, it was sufficient to watch Winston and Julia and the rest of the citizenry experience and suffer from these manipulations. But Orwell felt the need to spend pages detailing his warnings, which seems heavy-handed.

Orwell was a disillusioned ex-socialist and some of the novel touches on the failures encountered in socialist countries, such as shortages of essential goods. But 1984 is less about socialism than it is about the absolute corruption of absolute power.

The year 1984 has come and gone without the global dictatorship predicted by Orwell; but the warning signs listed in the book 1984 continue to haunt us today.

Orwell said, "The Party told you to reject the evidence of your eyes and ears" and we see politicians practicing this now. When people in power argue that "Truth is not truth" or "Alternative facts" are as valid as actual facts or that any news critical of themselves is "Fake news", they are exercising the same techniques about which Orwell warned us.  The concept of Thought Crime is still alive, if punishments are not as harsh as in Oceania. The far-right labels "unpatriotic" black men who peacefully protest; while the far left has successfully ruined the lives of people they deemed politically incorrect.

The bleak, dystopian future that Orwell describes has not come to pass. But its warning signs still exist. And 1984 reminds us that we must remain vigilant to avoid this future.

Wednesday, August 22, 2018 8:10:56 PM (GMT Daylight Time, UTC+01:00)