# Saturday, November 6, 2021

There was nothing special about Ana. She was a typical 10-year-old girl growing up in Zagreb, Yugoslavia when the war broke out. But shortly after her baby sister was sent to America for medical treatment, Ana's world was turned upside down. Serbs attacked her family and she found herself alone and thrust into the middle of a civil war.

Years later, Ana is living as an American college student, attempting to reconcile the tragedies of her past with her current life. She returns to Croatia seeking closure and those with whom she was once close.

Sara Nović's debut novel Girl at War tells Ana's story. Nović takes the reader forward and backward in time as we learn of Ana's search for peace. It is a moving story of a young girl denied a normal childhood.

Although this is a novel, it often reads like an autobiography. If the prose sometimes seems a bit awkward, this made it more authentic for me; if the narration is detached, it emphasized Ana's attempts to suppress the memories of her past.

I read this novel while visiting Croatia and I had the privilege of hearing stories of the civil war from the locals and from a museum above Dubrovnik. As a result, the story felt even more real for me.

Saturday, November 6, 2021 6:44:00 AM (GMT Standard Time, UTC+00:00)
# Wednesday, November 3, 2021

These days, Microsoft tends to announce products as they begin development; so they have fewer big announcements at their large events like Microsoft Ignite. Nevertheless, yesterday's 2.5 hour keynote did include some interesting information and announcements.

The two things that interested me the most were:

Azure OpenAI Service - a new addition to Microsoft's powerful Cognitive Services suite that allows you to create models that understand the context of text. The demo showed a transcript of a basketball game in which OpenAI was able to summarize the game's action into a brief paragraph. You can watch that demo here.

Microsoft Teams Connect should make it easier to collaborate in Teams with members from different organizations. This has been a pain point on some of my recent projects, so I look forward to seeing how this affects my work.

Microsoft Loop appeared in my build of Teams a few days ago, so my teammates and I have been playing with its collaborative features, which allow us to quickly add things like tables and to-do lists and edit them simultaneously.

While watching videos, I sometimes learn about things that are not new, but are new to me. Copilot is a plug-in for Visual Studio Code that automatically generates code, based on comments you add. I was unfamiliar with it, but I will be trying it out this week. It looks very cool!

Below are my raw notes, taken while watching the keynote:

New: Azure OpenAI Service

Customize models. Add context

Summarize text

Summary of summaries


Co-Pilot VS Code plug-in

Creates code based on comments


Teams Connect

Collaboration: Chat, call, meet, etc.



Digital representation of the world

Dynamic 365 Connected Spaces

Microsoft Mesh

Mesh for Microsoft Teams

Avatars with facial expression

Shared whiteboard


Judson A: Sustainability case study




Pages with flexible canvases

Loop components: Pull in content

Keep in sync

Multiple users can edit in Teams, Outlook, Word, or Teams mobile



@ mentions

Automatically create meeting


Clip Champ

All your video needs in one place | Clipchamp


Teams Connect

External shared channels alongside internal channels

Collaborate with those outside company

Public Preview 2022Q1



Virtual Green Room for presenters to prep

Curated attendee: Attendees see only shared content and guests invited to speak


Bring your apps into Teams

Bring Teams into your org


Viva Insights

Meeting suggestions provided to organizer

Create a meeting plan

"Send praise" feature


Dynamics 365

Supply Chain Insights

provide risk scores

Projected delivery dates

Storm surge risk


Power Automate

Process step map

Add comments to apps


Azure Arc

Hybrid and multicloud management

Virtual desktop in Azure Stack


SQL Server 2022 Preview announced


Azure Container Apps

Fully-managed and serverless platform

Does not use Kubernetes. Focus on apps

Upgrade path to Kubernetes


GitHub Codespaces

Create development machines in the cloud in <15 seconds

Access via web browser


New: Power Apps pay-as-you-go pricing model

Distribute Power Apps as native iOS and Android apps

Wednesday, November 3, 2021 3:47:06 PM (GMT Standard Time, UTC+00:00)
# Monday, November 1, 2021

Episode 685

Dave Rael on Git

Dave Rael discusses how git version control can make your development easier.


Monday, November 1, 2021 11:38:00 AM (GMT Standard Time, UTC+00:00)

IMG_4939I had never heard of a bicycling vacation before it was suggested to me a few months ago. But it sounded amazing - spending a week on the Dalmatian Islands off the coast of Croatia - biking about 30 miles each day while eating local food, learning about the local culture, and seeing the sights of a country I had never visited.

So, two weeks ago, off I flew to the southern coast of Croatia.

The organized tour started Thursday. But, I left Chicago Saturday evening and arrived in Croatia Sunday morning.

The trip began in Dubrovnik, an ancient city nestled between towering cliffs and the Adriatic Sea. We planned these days on our own before the tour company bussed us four and a half hours northwest to Trogir - an island city further up the coast. After a day in Trogir, we took a ferry to the island of Brač, where our biking adventure began. We spent 4 days on Brač and 3 on Hvar, bicycling different paths around the island each day. On the final day, we ferried back to the mainland and spent a day exploring the large coastal city of Split before flying home.

IMG_6327Dubrovnik was amazing. I have been wanting to visit since someone recommended it to me decades ago. The oldest part of the city is enclosed by walls built between 1100 and 1700 AD after the departure of the Venetian Empire. The walls were strong enough to repel most invaders and survive a devastating 1667 earthquake. The walled city is a UNESCO heritage site, but that did not prevent the Yugoslavian army from bombarding the city during the 1991 Homeland War, damaging over 60% of the buildings. Happily, the Croatians were able to rebuild the damaged city after gaining independence. We enhanced our trip with a few activities: We scheduled two guided walking tours: one focused on the history of the city; the other on food and wine; and we took a boat ride out to some of the islands off the coast, where we went snorkeling into some natural caves. We spent a couple hours exploring one of the islands. I tried to take some video with my drone, but I broke a propellor by accidentally crashing it into a wall.

I don't know if it was the boat ride, the cave diving, or something else that caused an old back injury to flare up, but it affected me the rest of the trip. I was fine while riding a bike but coughing or standing up too quickly sometimes caused intense pain. Luckily, it did not significantly impair our activities that week.

Trigor and Split are also old walled cities along the coast with rich histories of their own and we spent a day exploring each - hiring a guide to show us Split.

I traveled with a group of 4 people, but our guided tour included 10 other tourists - all of whom knew one another and most of whom had traveled together previously. Our tour guides - Marco and Mario - provided excellent leadership. Each had local connections (Mario was born and raised on Hvar and Marco's wife was from Hvar), so they provided great perspectives about the history, culture, food, and locations. They also took care of many of our logistical issues - making dinner, boat, and hotel reservations and planning our bike routes each day. Many of the Hvar inhabitants are related to Mario, so we received special treatment. The boat driver was his uncle, and the van driver was his brother.

IMG_5204The islands were gorgeous. Mountains jut up from the Adriatic and you can see the sea from nearly every point, with beautiful vistas in each direction. The land was covered with rocks, which farmers have dug up over the centuries and stacked into houses, fences, kilns, or just piles.

This is the end of the tourist season, which meant that many of the restaurants were closed; but the advantage is that there were a lot fewer people now than in the summer. Fewer cruise ships stopping also meant smaller crowds. Most people are not wearing masks here, but that was less distressing because we did not run into a lot of people. Everyone we met was very friendly. The locals were familiar with the VBT tours and waved as we rode past.

The roads were in surprisingly good condition. We did not encounter a lot of traffic, but there were few bike lanes, so we had to be cognizant of cars on the road. We mostly stayed off the main roads but had to cross them from time to time.

The American TV show "The Bachelor" was filming in front of our hotel, so we were able to see and hear a bit of next season's show.

I have never seen a place with so many cats. They roam free in the streets and it is unclear if they belong to any human families.

IMG_5243This was my first time riding an electronic bike (eBike) and it was ideal for this trip. Although it has a motor, it is different from a motorized scooter. An eBike motor assists with pedaling, rather than replacing it. You must continue to pedal, but you can select up to 4 speeds to boost your velocity. This was particularly helpful when biking up a steep hill. About half the trip was level, downhill, or a slight upgrade. I turned off the motor during these times and turned it on when confronted with one of the many uphill grades. The weight of an eBike makes it more difficult when the motor is turned off, but the extra boost came in handy on the steep climbs.

I rode nearly 150 miles over the course of 6 days. Some of the routes were optional, but there was no way I was going to skip any of them.

Fans of the popular TV show "Game of Thrones" would recognize many sites in Croatia. Dubrovnik was the setting for King's Landing, while Split played the part of Meereen. They offer tours that focus on filming locations for the show, but we were not interested.

This was the longest vacation trip I have taken since 1988 and it came at a time when I desperately needed a break from work. I was impressed with VBT - the trip organizers and I am already considering a similar trip next year to a different part of the world. I took a lot of photos, which you can see here.

Here is how I spent each day:

Arrived in Dubrovnik
Watched the sunset over the Adriatic Sea from a nice restaurant just outside the city walls
Walked around the old city at night

Took a cable car to the cliffs above Dubrovnik. Sipped coffee, read, and watched the sunset from a cafe at the top of the cliff
Visited a museum dedicated to the 1991 Homeland War which broke up Yugoslavian and granted independence to Croatia

Attended an organized walking tour of the old city, learning the history of Dubrovnik and Dalmatia
Circumnavigated the old city atop the surrounding walls
Attended a second walking tour - this one visiting old restaurants and focusing on the food and wine of the region.

Took a boat ride out to the islands off Dubrovnik's coast.
Dove into two natural caves on the islands.

Bus ride to Trigor, which passed briefly through Bosnia.
Walked around the old city of Trigor, including a trip to the top of the St. Lawrence Cathedral tower, from which one can see most of the city.

Ferry to Brač.
6-mile warmup bike ride to and from Dol
Return to Dol for dinner in a thousand-year-old building. Rakija/grappa tasting (walnut, herb, cherry, olive, etc.)

32-mile bike ride. Stops in:
Skrip: Tour olive oil museum. Tasting olive oil, fig jam, olive spread
Puciska: Harbor town. Tour of stone cutter school.
Dinner with a local family - a brother and sister who served homemade rakija.

34-mile bike ride.
Started at the highest point in Croatia. Rode down to the coast; then along the coast back to the hotel.
Lunch + Turkish coffee in Milna by the harbor
Gelato in Supetar - the largest city on Brač

11-mile bike ride in the morning, beginning at the highest point in Croatia
Hike along the shore
Boat ride to Hvar
Checked into a beautiful old hotel, overlooking the harbor
Cooking class

29-mile bike ride, crossing the entire island - west to east and back again.
Stopped at a beach to swim

35-mile bike ride, again across the entire island, but also including an optional ride over the mountain back to the hotel.

Took a morning ferry to Split
Walked around the old part of the city and enjoyed a late lunch at an outdoor cafe.
Hired a tour guide in the evening to show us around the old city, which was formerly the palace of the third-century Roman Emperor Diocletian, who abdicated his throne in 305AD.

Woke up at 5 AM to catch a 7:30 flight to Munich, then change planes to head home.

Slept 10 hours in my own bed.

More Photos

Monday, November 1, 2021 1:05:06 AM (GMT Standard Time, UTC+00:00)
# Saturday, October 30, 2021

An Acceptable Time concludes the "Time Quintet" that began with Madeleine L'Engle's classic novel "A Wrinkle in Time".

The series follows the Murrys - a family that are frequently thrust into adventures that span multiple planets, dimensions, and eras.

In this story, Meg's daughter Polly is staying with her grandparents in New England when their neighbor retired Bishop Colubra discovers a "time gate" - a doorway to three thousand years in the past. Polly and friends find themselves trapped in the past, caught between two Native American tribes at war.

As in so many of her books, L'Engle spices the story with religious references and philosophies. She never overwhelms the reader with preaching or dogma; rather, she raises questions and shows different relationships between men and God. Some worship a single creator, while others see gods in their ancestors or in each force of nature; some believe in a loving, parental God, while others fear a vindictive god, who demands blood sacrifices. Unlike stories in the Old Testament, the snake featured in this story is a force for good. I found it interesting that the Christian Bishop was accepting of the beliefs of druids. They had fundamental theological differences, but they chose to focus on their common beliefs.

There are a few weaknesses. The skepticism of Polly's grandparents is inconsistent with their previous encounters with time and space travel; and conflicts are resolved a little too conveniently at the end. Coincidences occur that border on a well-timed miracle. It stretches belief, but that is probably ok in a book about time travel.

An Acceptable Time is a story of selfishness and betrayal. But it is also about forgiveness and redemption and the different aspects of love. It is a story of hope and a fitting end to this series.

Saturday, October 30, 2021 9:09:00 AM (GMT Daylight Time, UTC+01:00)
# Monday, October 25, 2021

Episode 684

Guy Royse on Probabilistic Data Structures

Guy Royse discusses Probabilistic Data Structures - a pattern that results in high performance, but with a tradeoff in accuracy. He describes when such a tradeoff makes sense and how to implement this pattern in tools like Redis.


Monday, October 25, 2021 9:59:00 AM (GMT Daylight Time, UTC+01:00)
# Sunday, October 24, 2021

Miles Vorkosigan is in love with the recently-widowed Ekaterin Vorsoisson. Several obstacles inhibit his hopes at courtship: She is still in mourning for her late husband; her husband was abusive toward her; and Vorkosigan enemies are spreading rumors that Miles was implicit in the husband's death.

In her science fiction / romantic comedy "A Civil Campaign", Lois McMaster Bujold takes the reader through this adventure. She intertwines the main story with several others - a noblewoman who undergoes gender reassignment surgery in order to claim an open Countship (only males are eligible for this honor); a business started by Miles's clone/brother Mark to produce and market dairy products from genetically-engineered insects; and the upcoming wedding of the Galactic Emperor. Bujold cleverly ties together all these stories in the end.

This is mostly a lighthearted romantic comedy; but it also tackles some serious issues around gender roles. Bujold provides us with numerous examples of strong, independent women trying to navigate a patriarchal society. And there is moral philosophy: "Reputation is what other people know about you. Honor is what you know about yourself."

It has been a couple years since I set aside Bujold's series of books on the future universe inhabited by Miles Vorkosigan. I am glad I did. Reading this book felt like a reunion with old friends.

Sunday, October 24, 2021 9:22:00 AM (GMT Daylight Time, UTC+01:00)
# Saturday, October 23, 2021

Sharp Objects by Gillian Flynn is the story of how a tragic murder can affect a small town. But it is also the story of a young woman's struggles to confront the past she tried to escape.

Camille Preaker was a Chicago reporter sent to cover the story of a child killer in her hometown of Wind Gap in southern Missouri. Returning after years away, Camille reopens wounds caused by her relationship with a mother who never loved her, memories of a dead sister, and regret of the person she used to be. The longer she stays in this town, the more she reverts to her teenage self - repeating the mistakes of her youth.

Camille is isolated and self-destructive - both emotionally and physically, which makes it difficult to investigate the case, challenging to live a normal life, and impossible to form meaningful relationships. Flynn takes the reader inside the head of the character, making us feel for her, even if we cannot identify with her or like her. Camille grew up with a twisted sense of morality. At one point, she rationalizes statutory rape - a gang rape, at that.

The narrative is often uncomfortable. Wind Gap is filled with narrow-minded people a stereotype often depicted for those in a small town.

This was Ms. Flynn's debut novel - written well before she gained fame with "Gone Girl". It is not for everyone. The topic is disturbing, and the characters are deeply flawed. But I liked her depiction of the damaged prodigal daughter struggling against her past.

I found it entertaining.

Saturday, October 23, 2021 9:20:00 AM (GMT Daylight Time, UTC+01:00)
# Monday, October 18, 2021

Episode 683

Richard Campbell on the Future of Space Travel

Richard Campbell discusses the history of private space travel and where this industry is headed.

Monday, October 18, 2021 9:32:00 AM (GMT Daylight Time, UTC+01:00)
# Sunday, October 17, 2021

PatMethenySome musicians have extremely high technical proficiency; others bring a great deal of emotion to their performance. Pat Metheny is the rare one who has achieved both.

He proved it Friday evening at Pilsen's Thalia Hall. It was my first visit to Thalia Hall and my first time seeing Metheny, who I discovered decades ago during my college years.

Mr. Metheny switched between ballads and electric fusion and funk and straight-ahead jazz with the same effortlessness with which he switched guitars. His arsenal of guitars was impressive, and each brought a unique sound. He played acoustic guitar and electric guitars - both solid and hollow-bodied; but he also boasts some unusual instruments in the guitar family. His synthesizer guitar sounds more like a horn section than a stringed instrument; and he made beautiful melodies with his custom-made 42-string "Pikasso" guitar.

And for this music, the melody often takes center stage. Between the improvisations, there was always a beautiful tune to enjoy.

Accompanying Metheny on stage tonight were James Francies on keyboard and Joe Dyson on drums. Collectively, the trio calls themselves Side Eye and their synergy was great. Francies and Dyson are accomplished musicians in their own right and gave us some impressive solos; but their real strength was in backing the master guitarist.

It is hard to believe that Pat Metheny is now 67 years old and not just because he still retains a full head of his signature wild hair. His energy, enthusiasm, and dexterity are those of a much younger man.


Sunday, October 17, 2021 9:17:00 AM (GMT Daylight Time, UTC+01:00)