Episode 856

Jeremy Miller on Lessons Learned from Building a Public Open-Source Tool

Jeremy Miller has been building open-source software for many years. He has had much greater success with his most recent tools - Marten and Wolverine - than with his earlier attempts. He shares what he learned from his first projects that he applied to later projects. Lessons include listening to users, providing good documentation, and returning useful error messages.


Hell's Kitchen 2025I confess that I was not a fan of Alicia Keys before attending Thursday's production of "Hell's Kitchen" at Broadway's Shubert Theatre. I never disliked her music, but I was born too early to be her target audience, and I never caught up.

"Hell's Kitchen" tells the story of a young girl growing up in the lower Manhattan neighborhood from which the show derives its title. The girl's name is "Ali," but her story may or may not accurately reflect Alicia's teen years. Ms. Keys's music threads its way throughout this jukebox musical. The daughter of a musician, Ali's single mother raised her while working two jobs. Left on her own for much of the time, Ali skips school and begins an affair with a young man in the neighborhood. She is saved from delinquency when Miss Liza Jane, an elderly neighbor in her apartment building, discovers her and begins teaching her piano. Ali's aptitude (presumably inherited from her father) inspires and focuses her. She begins to grow up and take responsibility.

Newcomer Amanda Reid is brilliant as Ali, but Kecia Lewis as Miss Liza Jane steals the show each time she appears on stage. Shoshana Bean is also excellent as Ali's stressed and overprotective single mother.

But, after seeing this show, I have been listening to Keys's music a lot. And I like it!


Stephen Sondheim's Old Friends 2025There is an old show business saying: "There are no small parts!" In many shows, this is not correct. When a show consists of dozens of actors, most of them are relegated to the part of "ensemble." But things were different with "Stephen Sondheim's Old Friends," which I saw Wednesday evening at Broadway's Samuel J. Friedman Theatre. In a cast of about twenty, everyone took center stage for multiple musical numbers.

The show consisted of music from at least ten shows written by Sondheim. The cast treated the audience to shortened versions of "Into the Woods," "Sweeney Todd, the Demon Barber of Fleet Street," "Company," and other musicals for which the late American composer contributed music and lyrics. The entire company recreated Georges Seurat's famous painting while singing "Sunday in the Park with George," the song and show it inspired. In addition, we heard selections from "West Side Story" and "The Mad Show" - two plays for which Sondheim was the lyricist.

Highlights of the evening included a moving version of "Send in the Clowns," the tongue-in-cheek relationship song "Little Things You Do Together," and the bawdy "Everybody Ought to Have a Maid."

Most of this run featured Bernadette Peters and Lea Salonga, but Maureen Moore replaced Peters at this evening's performance. No reason was given for Ms. Peters's absence, but Salonga hinted at it when she attempted to play the trumpet during "You Gotta Get A Gimmick." Before lifting the instrument to her lips, she painfully sighed: "Get better soon, Bernadette!" Moore joined in the tribute/fun when she pleaded with her piano accompanist to play it "like Bernadette Peters! I looooove her!!!"

I benefited from Peters' absence. Her announced vacancy from the Wednesday evening production reduced ticket demand enough that I could afford main floor seats at a reduced rate. Even better, an usher asked if we wanted to move up the fifth row, where we had a clear view of every musical and dance number.

This show was a treat for fans of Stephen Sondheim (like me) and for those just discovering his music.



Episode 855

Scott Hanselman on New Technology and Old Friends

Microsoft Vice President Scott Hanselman and I talk about podcasting, communication, ethical uses of AI, and understanding tech more deeply.


Lanny Budd was a rich American living in Europe when the Nazis rose to power in 1930s Germany. He struggled to remain neutral, to navigate society, and to maintain his respect for human decency. But he could no longer look away when his Jewish friends began to disappear.

Upton Sinclair's 1942 novel "Dragon's Teeth" tells Lanny's story.

This is the third in a series of eleven novels about Lanny. Lanny's half-sister has married famous Jewish violinist Johannes Robin. When the Nazis sieze Robin and is family, Lanny works with his friends in the German government to secure their release, which costs the entire Robin fortune. Although most of the family escapes, Johannes's son Freddi remains hidden in a concentration camp at Dachau. Lanny spends the rest of the novel trying to find and rescue Freddi. Lanny has high connections in the Nazi government and even meets with Hitler, Goerring, and Goebels, but their hatred of Jews causes them to stonewall him.

Most disturbing about this story is the tactics used by the Nazis to solidify their power - demonizing outsiders, blaming others for the nation's problems, suppressing dissent, and drowning out unfavorable news with false propaganda. We see many of these strategies being used by government officials today.

The story examines the choices people make when facing evil within power. Lanny's wife Irma rationalizes Hitler's policies, in hopes of preserving her entitled way of life. Her husband recognizes the danger of the Third Reich and does his best to oppose it. But he finds that he must work within the corrupt system in order to free his friend. Lanny grew up in a privileged household. Even after the 1929 stock market crash, he remained rich enough to travel the world and enjoy frequent cruises. Yet he cares about others, working against the oppressive forces rising in power during the 1930s. Even Lanny's choices are full of moral ambiguity. The Budd family made its fortune by manufacturing munitions and was willing to sell them to anyone for a profit. And Lanny often works within the Nazi system he despises - gaining the trust of high-ranking Nazi officials.

"Dragon's Teeth" takes time to get going. But the action moves quickly when Lanny sets out to find and free his friend. It is a well-told story with lessons we should not forget.


Garrison Keillor 2025A decade ago, I saw Garrison Keillor record a live episode of his long-running radio show "A Prairie Home Companion." I had lawn seats at Ravinia, which did not afford a view of the stage. But Garrison delighted the crowd by marching across the lawn just prior to the show, singing to the audience in the cheap seats, before heading for the stage and beginning his show.

When I heard he was coming to Chicago's City Winery, I logged on as soon as the presale began, securing seats right next to the stage. I thought this location gave me the perfect vantage point. But Garrison fooled me. As at Ravinia, he began by walking to the middle of the theater, singing an original song about growing old. But he remained among the audience during the entire evening, never setting foot on the stage, never taking a seat on the stool in front of the microphone a few feet from where I sat. Instead, he walked through the audience with a wireless microphone, telling stories, reciting poetry, and leading the sold-out crowd in song.

"I'm 82 years old, and I'm going to do what in want," Keillor announced in the first five minutes of Thursday evening's show. "I used to host a radio show, but I cannot remember what it's called," he joked. That show - "A Prairie Home Companion" - ran for over forty years, from 1974 to 2016.

This evening's performance was not dissimilar to his "Prairie" shows. He told a long story about his childhood in the fictional town of Lake Wobegon, Minnesota. He interjected this story with a tale of returning to the small town for the funeral of a friend who had a rival for the affection of a pretty girl when they were all in high school together. The narration sometimes seemed disjointed and rambling, but all storylines converged by the time Mr. Keillor finished. The only thing missing was his famous closing line: "That's the news from Lake Wobegon, where all the women are strong, all the men are good-looking, and all the children are above average."

Keillor drew recitations from classic poets like Robert Frost, Robert Herrick, and William Shakespeare. But he also recited some of his original poetry, which skewed toward the quirky side. "I don't need to write like Robert Frost," he explained, "because Robert Frost already did  that." Keillor's poems included an ode to urination, a tribute to human sperm, and a rant about his daughter's clothing that revealed her butt crack.

He also sang in the rich baritone that he still retains, which helped make him ideal for radio. He encouraged the audience to sing along to Handel's "Alleluia," "My Country 'Tis of Thee," "Summertime, "Michael Row the Boat Ashore," and other traditional tunes. Near the end, he moved into more recent music, singing songs by The Beatles, Prince, and Van Morrison .

Although my choice of seats was not as good as I hoped, the performance was delightful. Garrison Keillor projects charm and kindness that puts his audience at ease.


GCast 195:

Creating a GitHub Repository

Learn how to create a new GitHub repository from the GitHub portal


Episode 854

Laurent Bugnion on Coordinating Hands on Labs

Laurent Bugnion recently returned from the Microsoft Build conference, where he coordinated the 48 hands-on labs available at the conference over three and a half days.

He talks about how they prepared for and executed this event, and which labs resonated the most with attendees.


Judy Collins 2025No one would blame Judy Collins for retiring from performing and relaxing, living off the proceeds of dozens of albums released over the last seven decades. But she continues to tour, sharing her music with her fans.

This is good news to those of us who attended her concert Friday evening at Evanston's Cahn Auditorium.

The lush tones of her 12-string guitar complemented her still-strong voice, but Russel Walden added so much to the music, sitting behind her and providing a brilliant accompaniment on the grand piano. The music needed nothing more than vocals, guitar, and piano to fill the hall.

The 86-year-old singer showed remarkable energy standing at the front of the stage for most of the concert, entertaining us with songs, stories, and jokes. The music took center stage. For two hours, she sang the songs of John Denver ("Jet Plane," "Country Roads"), Bob Dylan ("Mr. Tambourine Man"), Jacques Brel ("Marieke"), and Joni Mitchell ("River," "Both Sides Now"). At one point, Walden surrendered his piano to Judy, who recited two of her original poems while playing softly on the keys.

Between songs, she charmed the audience with stories from her life (her father was a musician with his own radio show, and her husband of 48 years had recently passed away) and threw out corny jokes. (Each cigarette you smoke takes an hour from your life and gives it to Keith Richards). She introduced herself as the American Idol of 1956 and joked that "86 is the new 27!"

The concert finished strong with a moving rendition of Stephen Sondheim's "Send in the Clowns," followed by an encore of "Amazing Grace," to which the audience sang along.

The show was not perfect because Collins's memory is not perfect. The artist frequently glanced at a lyric sheet in front of her, and sometimes Walden had to provide the name of a person or place that she had forgotten. But it was far better than I expected, and Judy Collins proved that she is still a national treasure.


Chaka Khan 2025This may be the most efficient concert I've ever attended. In the past, it is not uncommon to take almost an hour between an opening act and the headliner. The folks running the 3 Queens concert at Chicago's United Center Friday evening switched quickly between acts by Gladys Knight, Stephanie Mills, Patti LaBelle, and Chaka Khan.

The concert began promptly at the announced 8:00 start time, with Gladys Knight performing for thirty minutes before departing the stage. Minutes later, Stephanie Mills stepped out and started her performance backed by the same band. A few minutes followed Stephanie's 30-minute performance, but only to rotate a new band and instruments from behind the curtain before Patti LaBelle launched into her performance. Patti's show lasted a bit longer and included a costume change. It concluded with an instrumental jam by her backing band until headliner Chaka Khan stepped forward to complete the evening.

Gladys Knight 2025Each of the four ladies boasts a decades-spanning career that included major hits on the R&B and the pop charts. Gladys Knight and Patti LaBelle each celebrated their eighty-first birthday this week (yes, they were born four days apart) and Chicagoan Chaka Khan is now 72 years young. At a spry 67 years, Stephanie Mills is the youngest of the quartet. Chaka and Stephanie showed a great deal of energy this evening. Gladys was slow but elegant, while Patti seemed the most diminished by her age.

Regardless of their point in life, each woman has had a remarkable career and projected a love of entertaining before a full United Center.

They closed each set with an iconic song ("Midnight Train to Georgia" for Knight, "Never Knew Love Like This Before" for Mills, "Lady Marmalade" by LaBelle, and "Ain't Nobody" by Khan.

I appreciated the amount of music the organizers packed into the evening. And I appreciated a chance to see four legendary performers who have dedicated their lives to entertaining us.

      Stephanie Mills 2025   Patti LaBelle 2025


I survived. I still have a job after my employer, Microsoft, laid off 2% of its workforce last month.

On the one hand, I breathed a sigh of relief that I was not among the 6,000 employees let go. On the other hand, I am experiencing survivor's guilt. I know some of the people who lost their jobs, and I can attest that they are intelligent, conscientious, and qualified.

I want to help those who are affected, but I struggle to find ways to do so.

What Can I Do?

Here are some things you can do to help those who recently lost their job.

Write a recommendation

This applies only to people with whom you have worked. Write about what they did, how it helped, and the skills they demonstrated. Be as specific as possible. Before you write, ask them if there are things they would like to highlight in this recommendation. LinkedIn provides a convenient platform for posting recommendations. DO NOT click LinkedIn's endorsement button. That feature is entirely useless and ignored by employers. If you or they do not use LinkedIn, consider typing, printing, and signing a letter, as our ancestors used to do when writing these letters.

Share job openings

When you learn of a job opening at your company or another company, ask yourself if it could be a good match for your unemployed friend. If so, forward it to them.

To facilitate this process, I created a spreadsheet of friends and acquaintances who were actively seeking employment. My spreadsheet had the following columns:

  • Name
  • Skills
  • Misc Notes
  • Found Job? (Y/N)

Whenever I learned about a job opening, I checked my list to see who was still looking and possessed the required skills for that job.

I frequently see social media posts in which a friend announces they are seeking employment (#OpenToWork is a popular hashtag to communicate this status.) Clicking the "Share" button takes almost no time and can help spread the word. Sometimes, I take a minute to add a public note telling my network how awesome the person is.

Offer to Review Resumes

A resume provides a jobseeker's first impression to a potential employer, and many resumes can be improved. If you know something about crafting a resume, offer to review theirs. Sometimes, a fresh set of eyes can spot potential problems. Here are a few common issues to watch for:

  • too long
  • contains irrelevant information
  • emphasis on the skills
  • errors in spelling and grammar

Listen to them

Losing a job and looking for a new one almost always adds stress to one's life. Sometimes, it helps to talk about it. Even if they do not feel like talking, it is good to know others are thinking of them. Send a text or email letting them know you care and are willing to listen if they want to talk.

Conclusion

I know the stress of going through a job search, and I appreciate those who helped me. This article is my way of paying that help forward.


Episode 853

Tommy Falgout on Bad AI in a Box

Partner Solution Architect Tommy Falgout has created a device that can deliver on demand:

- bad advice
- insults
- fake facts
-  cocktails
- conspiracies

He shows this combination of hardware, software, and cloud services, and describes how he built it.

Links:
https://aka.ms/baiiab


May 2025 Gratitudes

Comments [0]

6/1
Today I am grateful to attend a Chicago Hounds game yesterday - my first time at a rugby match!

5/31
Today I am grateful to see Chaka Khan, Gladys Knight, Stephanie Mills, and Patti LaBelle last night on their 4 Queens tour.

5/30
Today I am grateful for kind words from my manager during my annual review yesterday.

5/29
Today I am grateful:
- to attend the GenAI Collective meetup last night
- for lunch with my team and to meet our new intern yesterday

5/28
Today I am grateful to fix the issue with my hearing aid.

5/27
Today I am grateful for a 3-day weekend.

5/26
Today I am grateful to see "R.U.R. (Rossum's Universal Robots)" at City Lit Theater yesterday.

5/25
Today I am grateful to see Paul Simon in concert last night.

5/24
Today I am grateful to see Vince Gill in concert last night.

5/23
Today I am grateful for coffee with Tobias yesterday.

5/22
Today I am grateful to attend the Chicago AWS User Group 10th birthday party, yesterday.

5/21
Today I am grateful to Devanshi for answering my AI questions yesterday.

5/19
Today I am grateful for a tour of Frank Lloyd Wright's Robie house yesterday

5/18
Today I am grateful for breakfast this morning with Gary, Debora, Dave, and Sue.

5/17
Today I am grateful to the organizers of #DynamicsCon and to Bobby for a ticket to the conference

5/16
Today I am grateful to meet humorist Dave Barry last night.

5/15
Today I am grateful to Alex for a tour of the Uber Chicago headquarters yesterday

5/14
Today I am grateful to talk with Jayson yesterday for the first time in years.

5/13
Today I am grateful to see Lalah Hathaway in concert from the front row last night.

5/12
Today I am grateful to celebrate Mother's Day with some wonderful ladies yesterday!

5/11
Today I am grateful for a BBQ dinner yesterday with new friends.

5/10
Today I am grateful to see Alan Parsons in concert last night.

5/9
Today I am grateful to Eric for organizing Global Azure and to George for hosting the event this year.

5/8
Today I am grateful to attend the "1 Million Cups" entrepreneur meetup and networking event for the first time yesterday.

5/7
Today I am grateful to see an exciting Chicago Sky - Minnesota Lynx game last night!

5/6
Today I am grateful to complete all my required training for the fiscal year.

5/5
Today I am grateful that my knee pain has lessened enough that I could play pickleball yesterday.


The Cast Of R.U.R. at City Lit Theater 2025You don't have to be interested in artificial intelligence to enjoy "R.U.R. (Rossum's Universal Robots)."

I caught the Sunday afternoon performance at the City Lit Theater, which is located in an intimate space on the second floor of the Edgewater Presbyterian Church.

Bo List adapted this version from Czech writer Karel Čapek's 1920 play "R.U.R." List eschewed a direct translation in favor of a modern interpretation. The tone and clothing of Director Brian Pastor's production suggest a steampunk version of the world seen from a century ago, but the story has a timeless air. The original script has the historic distinction of coining the term "robot" to describe artificially created humans.

The story begins with a giddy Harry Rossum announcing the creation of his most lifelike version of robots that look and act like humans. These robots are improved because they can learn and act outside their original programming. He insists this will forever free people from work, but he ignores warnings about the dangers of enslaving sentient beings. Rossum's factory is located on an island across from the capital city of a fictional country. The President's daughter, Helena Glory, arrives on the island to announce her opposition to his robots and her plans to speak out against them at an upcoming conference. She changes her mind when Rossum proposes marriage and offers a job for her safeguarding the ethics of robot creation. When robots discover her planned speech, things take a terrible turn, inspiring them to revolt against their overlords.

Brian Breau, who was excellent as Stan Lee in last year's "House of Ideas," provides an over-the-top performance as Harry Rossum, and Madelyn Loehr is fun as the naive Glory. As Harry's stepmother, Dr. Gall, Mary Ross adds enough mad scientist flavor to her character that Harry remarks that she thinks she is a fascist - a line that drew laughs from the audience. But Alex George stole the show as the robot Sulla, who leads the inevitable uprising. Her shift from stoicism to anger to tragedy is subtle and delivered with understated perfection.

City Lit brought to life a classic tale. It is easy to forget that the dangers of A.I. were once a fresh idea. "R.U.R." is a morality play, a comedy, and a tragedy. It warns of the potential risks of artificial intelligence, told decades before "The Terminator" and a century before the current hype around A.I.

This play was entertaining, funny, tragic, and fun!


Episode 852

Dee Peterson on An M365 Copilot Success Story

Dee Peterson helped a bank to implement M365 Copilot. She describes how this AI tool increased their efficiency and saved them millions.


Paul Simon And His Band 2025Paul Simon chose the Symphony Center to host his three-night stand in Chicago last week. The Center is the home of the Chicago Symphony Orchestra, which is currently performing in Wrocław, Poland.

Fittingly, Simon filled the stage with talented instrumentalists, including a large variety of percussionists and their mavens. The singer/songwriter has been releasing albums for years as a solo artist and as half of the legendary duo Simon and Garfunkel. After six decades of writing, he has a massive catalog of songs from which to choose. But he decided to open with a new work.

While isolated during the COVID-19 epidemic, Paul wrote and recorded "Seven Psalms" - a suite inspired by the Psalms book of the Old Testament. The band performed this suite for the first thirty-five minutes without pausing between each number. They presented each song like the movements of a symphony. The audience politely enjoyed the freshness of these acoustic numbers.

But the real treat came after a brief intermission. In the second set, Mr. Simon drew from his vast catalog, performing numerous favorites from his solo work ("Graceland," "Slip Slidin' Away," "Me and Julio Down by the Schoolyard") and from his S&G days ("Homeward Bound"). Hearing familiar tunes felt like revisiting an old friend. In between, he brought out some deep album tracks ("The Late Great Johnny Ace," "St. Judy's Comet," "Rene and Georgette Magritte With Their Dog After the War").

As a bonus treat, Paul's wife, Edie Brickell, came on stage to accompany him on a few songs.

Paul Simon 2025The band reached into the vault for his encore set. He and the band opened the set with "50 Ways to Leave Your Lover," followed by "The Boxer," which inspired the audience to sing the "Lie-la-lie" chorus enthusiastically. At the end of this song, everyone left the stage except for Simon, who accompanied himself on guitar for a haunting version of "Sounds of Silence."

I caught the last of his Chicago shows Saturday evening. This tour began last month - his first in seven years and the first since the 83-year-old singer's recent diagnosis with partial hearing loss. He dubbed this tour: "A Quiet Celebration," as it focused on acoustic arrangements with complex yet subtle percussion, violins, woodwinds, and acoustic guitars. The stage design assisted his hearing - the band surrounded Mr. Simon, and the music remained soft and understated.

No one left disappointed.


Vince Gill 2025Not only is Vince Gill one of the more talented country music songwriters working today, but he projects warmth and charm when he performs, as he did Friday evening at the Chicago Theatre.

This tour is a return to performing his own music after filling in for the late Glenn Frey with the Eagles for the last few years.

Gill brought plenty of backup for this show. Two lead guitarists, two rhythm guitarists, two keyboardists, and Vince (who played lead and rhythm guitar) provided plenty of redundancy. The band was solid, but the steel guitarist seated to Gill's left frequently stole the show with his impressive solos.

Between songs, the singer told stories of his life, his music, and his inspirations for songs. A joke by a friend in a Nashville cafe inspired "Down to My Last Bad Habit," while an offhand remark by Mavis Staples inspired "These Times." A songwriter convinced him to change the lyrics of "Look At Us" to a happy ending - advice that paid off in the song's popularity.

Although many of his songs feature sad lyrics, he played one song about infidelity. "If it weren't for all these cheating songs, we wouldn't need all these Gospel songs," he quipped as an introduction to "Pocket Full of Gold."

His first set mainly consisted of country music, with the notable exception of the pop-sounding "Feels Like Love." He drew on his extensive song catalog but also mixed in covers of Merle Haggard's "The Bottle Let Me Down" and Buck Owens's "Together Again." Near the end of the set, he invited guitarist Jedd Huges to the front to sing his original composition "Loving You is the Only Way to Fly." Next, longtime backup singer Wendy Moten belted out Bobbie Gentry's "Ode to Billie Joe" before Gill returned to the microphone to close the set with "When Amy Prays," a tribute to singer Amy Grant, his wife of twenty-five years.

After a brief intermission, the band returned and played a selection of new songs from Gill's pen, many of which have not been released yet. He asserted that he was going through the most creative period of his career, and these songs provided strong evidence that he remains an impressive songwriter. Halfway through set two, Chicago blues harmonica player Billy Branch joined the band onstage for one song.

Vince Gill joked that his doctor ordered him not to sing two fast songs in a row. Mostly, he complied, as much of his music tells sad stories. (He insisted that the saddest song of all time is "Old Shep," which his father sang to him about a boy forced to shoot his dying dog.) But Vince broke the consecutive fast song rule at the end of set two when he followed the rowdy "What Cowgirls Do" with the upbeat "Oklahoma Borderline."

The show closed with a rousing 10-minute jam session of "Liza Jane" before exiting a final time.

Vince Gill poured his heart into this evening's performance for nearly three and a half hours. The audience left, feeling they knew him better because of it.


Azure AI services provide a set of REST APIs that developers can call to quickly add artificial intelligence to their applications. Services include language, speech, vision, document intelligence, Decision, and Metric Advisor.

You can create many of these services individually, but it makes sense to create an Azure AI Vision Service if you want to use a service from more than one category.

Navigate to the Azure Portal and log in.

Click the [Create a resource] button (Fig. 1) and search for "ai services," as shown in Fig. 2.

Create Resource button

Fig. 1

Search For AI Services

Fig. 2

From the list of results, select the "Azure AI services" panel (Fig. 3), expand the menu, and select the [Create | Azure AI services] option, as shown in Fig. 4.

Azure AI Services Pane

Fig. 3

Create Button

Fig. 4

The "Create Azure AI services" dialog displays with the "Basics" tab selected, as shown in Fig. 5.

Create Azure AI Services Dialog, Basics Tab

Fig. 5

At the "Subscription" dropdown, select the subscription in which you want to create this OpenAI service. Many of you will have only one subscription, so you will not need to choose anything here.

At the "Resource group" field, select the resource group where you want to create the OpenAI service or click the "Create new" link to create a new resource group to add the OpenAI service. A resource group is a logical grouping of Azure resources you would like to manage together.

At the "Region" dropdown, select an Azure region in which to create the OpenAI service. Consider the location of the people and services that will be using this service to minimize latency.

At the "Name" field, enter a unique name for this OpenAI service.

As of this writing, the "Pricing tier" dropdown lists only "Standard S0." Select this option.

Check the checkbox indicating that you will adhere to the Responsible AI terms listed at the bottom.

Fig. 6 shows the "Network" tab. It is unnecessary to change anything on this tab, but it allows you to restrict access to the service to specific networks and configure private endpoints for the account.

Create Azure AI Services Dialog, Network Tab

Fig. 6

Fig. 7 shows the "Identity" tab. It is unnecessary to change anything on this tab, but it allows you to assign user managed identity for these services.

Create Azure AI Services Dialog, Identity Tab

Fig. 7

Fig. 8 shows the "Tags" tab. It is not necessary to change anything on this tab, but you can apply name-value pairs to this resource that you may use to filter or sort your reports.

Create Azure AI Services Dialog, Tags Tab

Fig. 8

Fig. 9 shows the "Review + create" tab. If you made any errors, such as leaving a required field empty or selecting an inconsistent combination of options, these errors will be listed here, and you will need to correct them before you can proceed.

Create Azure AI Services Dialog, Review + Create Tab

Fig. 9

After correcting any errors, click the [Create] button (Fig. 10) to start creating the Azure OpenAI service.

Create Button

Fig. 10

After a short time, a confirmation message similar to the one in Fig. 11 will display, indicating that the Azure OpenAI service has been created.

Deployment Confirmation

Fig. 11

Click the [Go to resource] button (Fig. 12).

GoToResource Button

Fig. 12

Currently, this button navigates to the resource group. Click the Azure OpenAI service to show the "Overview" blade of the newly created Azure OpenAI service, as shown in Fig. 13.

Azure AI Services Overview Blade

Fig. 13

In this article, I showed you how to create an Azure AI service, giving you access to Artificial Intelligence functionality through simple REST API calls.


Azure OpenAI provides access to OpenAI's language models, enabling developers to integrate advanced AI capabilities into their applications. To use Azure OpenAI, you must first create an Azure OpenAI service. This article describes how to create that service using the Azure Portal.

Navigate to the Azure Portal and log in.

Click the [Create a resource] button (Fig. 1) and search for "azure openai," as shown in Fig. 2.

Create Resource Button
Fig. 1

Search For OpenAI
Fig. 2

From the list of results, select the "Azure OpenAI" panel (Fig. 3), expand the menu, and select the [Create] option, as shown in Fig. 4.

Azure OpenAI Panel
Fig. 3

Create Azure OpenAI Button
Fig. 4

The "Create Azure OpenAI" dialog displays with the "Basics" tab selected, as shown in Fig. 5.

Create Azure OpenAi Dialog - Basics Tab
Fig. 5

At the "Subscription" dropdown, select the subscription in which you want to create this OpenAI service. Many of you will have only one subscription, so you will not need to choose anything here.

At the "Resource group" field, select the resource group where you want to create the OpenAI service or click the "Create new" link to create a new resource group to add the OpenAI service. A resource group is a logical grouping of Azure resources you would like to manage together.

At the "Region" dropdown, select an Azure region in which to create the OpenAI service. Consider the location of the people and services that will be using this service to minimize latency.

At the "Name" field, enter a unique name for this OpenAI service.

As of this writing, the "Pricing tier" dropdown lists only "Standard S0." Select this option.

Fig. 6 shows the "Network" tab. It is unnecessary to change anything on this tab, but it allows you to restrict access to the account to specific networks and configure private endpoints for the account.

Create Azure OpenAi Dialog - Network Tab
Fig. 6

Fig. 7 shows the "Tags" tab. It is not necessary to change anything on this tab, but you can apply name-value pairs to this resource that you may use to filter or sort your reports.

Create Azure OpenAi Dialog - Tags Tab
Fig. 7

Fig. 8 shows the "Review + create" tab. If you made any errors, such as leaving a required field empty or selecting an inconsistent combination of options, these errors will be listed here and you will need to correct them before you can proceed.

Create Azure OpenAi Dialog - Review + Create Tab
Fig. 8

After correcting any errors, click the [Create] button (Fig. 9) to start creating the Azure OpenAI service.

Create Button
Fig. 9

After a short time, a confirmation message similar to the one in Fig. 10 will display, indicating that the Azure OpenAI service has been created.

Deployment Complete
Fig. 10

Click the [Go to resource] button (Fig. 11).

Go To Resource Button
Fig. 11

Currently, this button navigates to the resource group. Click the Azure OpenAI service to show the "Overview" blade of the newly created Azure OpenAI service, as shown in Fig. 12.

Azure OpenAi Overview Blade
Fig. 12

You can work with this Azure OpenAI Service using the Azure AI Foundry portal. Click the [Explore Azure AI Foundry portal] button (Fig. 13).

Explore Azure AI Foundry Portal Button
Fig. 13

A message similar to Fig. 14 displays in a new tab, indicating that you are leaving the Azure portal.

Leaving Portal Message
Fig. 14

Click the [Continue] button to open the Azure AI Foundry page, as shown in Fig. 15.

AzureAI Foundry
Fig. 15

In this article, I showed you how to create a new Azure OpenAI Service in the Azure Portal. In future articles, I will show some of the capabilities of this service.


Episode 851

Peter Van Vliet on Separating the Development Model From the Deployment Model

Masking Tech developed the Jitar (short for "Just In Time Architecture") open source project to allow you to decide at deployment time whether to deploy a modular application as a monolith or as microservices. Peter Van Vliet discusses how this works and how to architect an application to take advantage of deferring this decision.


Willa Cather's 1922 novel "One of Ours" is two stories relating the two phases in the life of young Claude Wheeler.

The book begins on the Wheeler family farm in Nebraska, where Claude struggles to find his purpose in life. He marries a woman who mistreats him before abandoning him.

He decides his destiny lies in the United States Army, fighting in the First World War, so the story takes him to Europe.

Cather details Claude's relationships at home and overseas - how they differ and how they affect his life differently. In young Claude, she shows us the part of ourselves that longs for meaning. Working on the family farm and a loveless marriage meant little to Claude. But fighting for his country gave him a reason to go on.

"One of Ours" is a different novel for Cather, who gained fame writing about the American West and Great Plains. The second half of this novel takes us far from the shores of America. But the death of her cousin on a World War I battlefield inspired her to tell this story.

This novel is a solid coming-of-age story told in a very personal way.


LalahHathaway2025-aA singer as talented as Lalah Hathaway deserved a better sound system than the City Winery supplied Monday evening.

I attended the first of six Hathaway performances at the West Loop venue. I was excited to see her return to her hometown and to hear her live for the first time in over thirty years.

LalahHathaway2025-bOur front row seats provided an excellent vantage point to experience her charm and engaging smile. Her band, which went by the name "Legally Blynd," highlighted by singer/guitarist Jubu Smith, was top-notch. They played two songs before Lalah took the stage, and Jubu joined her in a duet during her set.

I had the pleasure of seeing Ms. Hathaway perform decades ago in suburban Detroit when she toured with legendary keyboardist Joe Sample. She was early in her career, and her voice was fresh and youthful. That voice has matured since then, adding a range of tone and emotion.

It is no surprise that Lalah knows how to handle an audience. She is the daughter of legendary soul singer Donnie Hathaway, who passed along talent and influence to his daughter.

Ms. Hathaway's voice is as amazing as you would expect from the daughter of soul legend Donnie Hathaway. She dazzled the nearly sold-out venue with her selection of soulful melodies. Songs like "Baby Don't Cry" and "Angel" inspired he crowd to sing along. But the bass and drums overpowered her vocals throughout the night. And no one was here to listen to the bass and drums. We came for Lalah's voice. It was great, but we wanted more.


Azure AI Search provides a fast, scalable, reliable vector search service that you can extend with RAG and other AI services.

In this article, I will show how to create an Azure AI Search service.

Navigate to the Azure Portal and log in.

Click the [Create a resource] button (Fig. 1) and search for "ai search" or "azure ai search," as shown in Fig. 2.

Create Resource button
Fig. 1

Search For AI Search
Fig. 2

From the list of results, select the [Create] button in the "Azure AI Search" panel (Fig. 3) to expand the menu, and select the [Create] option, as shown in Fig. 4.

Azure AI Search Panel
Fig. 3

Create Button
Fig. 4

The "Create a search service" dialog displays with the "Basics" tab selected, as shown in Fig. 5.

Create AI Search Blade -Basics Tab
Fig. 5

At the "Subscription" dropdown, select the subscription in which you want to create this AI Search service. Many of you will have only one subscription, so you will not need to choose anything here.

At the "Resource group" field, select the resource group in which you want to create the Search service, or click the "Create new" link to create a new resource group in which to add the Search service. A resource group is a logical grouping of Azure resources you want to manage together.

At the "Service name" field, enter a unique name for this Search service.

At the "Location" dropdown, select an Azure region in which to create the Search service. Consider the location of the people and services using this service to minimize latency.

The "Pricing tier" field defaults to "Standard." If you want to change this, click the "Change pricing tier" link and select an appropriate tier from the list of options, as shown in Fig. 6.

SelectPricingTier
Fig. 6

These pricing tiers are listed in ascending order of price and capacity. You should select one that meets your needs, but resist paying for more than you need.

Fig. 7 shows the "Scale" tab. It is unnecessary to change anything on this tab, but it allows you to add more Replicas and partitions. Increasing Replicas increases the availability of the service, while increasing Partitions increases the capacity of the service. You should set the Replicas to at least 3 for production environments to achieve high availability for read and write operations.

Create AI Search Dialog - Scale Tab
Fig. 7

Fig. 8 shows the "Networking" tab. It is unnecessary to change anything on this tab, but it allows you to restrict access to the account to specific networks and configure private endpoints for the account.

Create AI Search Dialog - Networking Tab
Fig. 8

Fig. 9 shows the "Tags" tab. It is not necessary to change anything on this tab, but you can apply name-value pairs to this resource that you may use to filter or sort your reports.

Create AI Search Dialog - Tags Tab
Fig. 9

Fig. 10 shows the "Review + create" tab. If you made any errors, such as leaving a required field empty or selecting an inconsistent combination of options, these errors will be listed here, and you will need to correct them before you can proceed.

Create AI Search Dialog - Review + Create Tab
Fig. 10

After correcting any errors, click the [Create] button (Fig. 11) to start creating the Azure AI Search service.

Create Button
Fig. 11

After a short time, a confirmation message like the one in Fig. 12 will display, indicating that the Search service has been created.

Deployment Complete message
Fig. 12

Click the [Go to resource] button (Fig. 13) to show the "Overview" blade of the newly created Azure AI Search service, as shown in Fig. 14.

Go To Resource Button
Fig. 13

AI Search Overview Blade
Fig. 14

This article showed you how to create an Azure AI Search service.


GCast 194:

Creating a Chatbot with the Question Answering feature of Azure Language Service

Question Answering is an optional feature of the Azure Language service that allows you to create a chatbot from a document of questions and corresponding answers. Learn how to use this tool without writing any code.


By default, a newly created Azure Storage Account has some restrictions. These restrictions are necessary to enhance security, but can cause frustration when using the portal to work with your data.

Recently, I received the following warning when I accessed a blob container in the portal:

Error Message
Fig. 1

When I tried to upload a file to the container, Azure prevented the operation and reported only "Forbidden," as shown in Fig. 2

Error Message
Fig. 2

After some research and experimentation, I discovered the solution was to add my user account to the "Storage Blob Data Contributor" role. This solution surprised me because I had created the Storage Account, so I was already a member of the "Owner" role. However, adding myself to this other role was sufficient to allow me to upload files to a blob container within the portal.

You can find step-by-step instructions on how to add a user to a role in an Azure Storage Account in this article.

The "Storage Blob Data Contributor" role is a good role to assign to new users who need to read and write data without giving them any extra rights within the account.


The 2025 Global Azure Chicago Speakers (photo by Donna Vade Bon Coeur)Finding space for this year's [Global Azure]() event was a challenge, but Eric Boyd worked his network, and George Roberts was able to reserve a hall inside the McDonald's world headquarters in Chicago's West Loop.

Global Azure has a long history. It began over twelve years ago as the Global Windows Azure Boot Camp. I hosted an event in 2013 in Southfield, MI, years before I joined Microsoft. Community organizers host events the same week in cities around the world.

Saturday's Chicago event started with a presentation by Microsoft MVP and Regional Director Eric Boyd, who gave a history of Azure in the context of how he worked with the platform. Eric was an early adopter and proponent of Azure and has built a business focused mainly on Azure services. Dan Rey spoke next, educating us about Azure data centers and how they have evolved to meet growing demand. George Roberts then told us how McDonald's migrated to Entra from Active Directory and the challenges they had to overcome. After lunch, Dee Peterson spoke about using the Well Architected Framework to create resilient applications in the cloud. To close the day, I gave a presentation on Azure Monitor and Application Insights.

Over thirty people attended the event - an impressive number given that we scheduled it late and the sunshine tempted folks to enjoy outdoor activities. The audience was engaged for the six hours of presentations, asking many relevant questions and hanging out afterwards to connect with the speakers and organizers.

This event was an excellent opportunity to engage the community, educate people about Azure, and promote in-person events. As we closed, Eric and I announced a rebirth of the Chicago Cloud Computing User Group, which will host a meeting at the Downtown Chicago Microsoft office on June 5.


Episode 850

Damian Synadinos on Trust

Damian Synadinos discusses the role that trust plays in our lives an in the workplace, and when it is appropriate to trust without verification. He warns against over-trusting and under-trusting, advising us to use critical thinking when deciding who and what to trust. He applies these principles to Artificial Intelligence, discussing how much we should trust the results produced by AI.

https://www.ineffable-solutions.com/


Alan Parsons Live Project 2025Some leaders lead from the back. Record producers, audio engineers, composers, and music directors like Alan Parsons fall into this category. They allow others to handle instrumental solos and lead vocals.

Parsons took this a step further at the Rivers Casino Event Center in Des Plaines Friday evening. Throughout the performance, he sat at the back of the stage while the spotlight shone on his band of singers and instrumentalists. Parsons sang lead on only two songs - "Don't Answer Me" and "Eye in the Sky." For the rest of the show, he strummed an acoustic guitar while others in the band alternated lead vocals and performed solos on guitar, bass, drums, and keyboards. Guy Erez's creative bass solo on "I Wouldn't Want to Be Like You" was especially impressive.

Alan Parsons gained worldwide fame as the co-leader of The Alan Parsons Project, along with the late Eric Woolfson. Although Eric sang lead on many songs, Alan's name appeared in the band title. The two hired many session musicians and singers to perform on their eleven studio albums. Before teaming with Woolfson, Parsons made a name for himself by producing classic albums like Pink Floyd's "Dark Side of the Moon" and engineering the latter of the Beatles' albums.

Alan Parsons Live Project 2025Parsons has been releasing albums under his own name (sans "Project") since the breakup of The Alan Parsons Project thirty-five years ago. But Friday evening's performance consisted almost entirely of songs from his collaboration with Woolfson in the 1970s and 1980s. This set list delighted a crowd that sported a lot of gray hair. I was happy to hear compositions from the underrated "Tales of Mystery and Imagination," APP's first album that failed to chart on its 1976 release. The classic "Breakdown" from the more commercially successful second album "I Robot" led seamlessly into "The Raven" from the debut album. The encore set began with "(The System of) Dr. Tarr and Professor Fether" - one of my favourite songs!

The 76-year-old Parsons is showing his age. He walks with a cane and requires assistance climbing on and off the stage. However, the progressive rock music he created decades ago holds up well, and he has assembled a collection of top musicians to share that music with the world.

Photos


Marie Benedict's novel "The Only Woman in the Room" tells the story of Hedy Lamar, who was born Hedwig Kiesler into an Austrian Jewish family before the rise of Adolf Hitler and Naziism.

Kiesler was an Austrian actress when her family encouraged her to marry wealthy industrialist Friedrich Mandl as a way to increase their social standing and financial stability. She converted from Judaism to Christianity for the marriage and lived the life of a socialite, but Mandl proved to be an abusive, controlling husband. Her life became worse when her husband aligned himself with Adolf Hitler and began selling arms to the Nazis after Germany's takeover of Austria.

Hedwig escaped Austria before Hitler began to execute his plan to exterminate Jews. She moved to Hollywood, California, changed her name to Hedy Lamar, and starred in a series of successful movies for Lous Mayer's MGM Studio.

But Hedy was much more than a beautiful actress. She learned that American remote-controlled torpedoes were ineffective because Germans could easily jam their signals, so she developed a new wireless communication system that was nearly impossible to jam. The U.S. military rejected her invention, refusing to believe that a woman could create this, but her technology is used in many cell phone systems today.

"Only Woman" is a fictional autobiography. The author puts words into the heroine to tell the stories of her life as she transitions from daughter to wife to refugee to actress to scientist. Although Benedict invents the thoughts in Lamar's head, the events she relates are based on history, and the inner monologue we read is plausible.

Hedy Lamar was a remarkable woman who led a remarkable life, and her story deserves to be told. A novelization of that life is a good way to tell that story.


In the last article, I showed you how to create an Azure Storage Account. One way to secure a storage account is to assign users to roles that allow each user only the access that they require and no more. In this article, I will show you how to assign users to roles in an Azure Storage Account.

Log in to the Azure Portal and navigate to the Azure Storage Account, as shown in Fig. 1.

Overview Blade
Fig. 1

From the left menu, select [Access Control (IAM)] (Fig. 2) to display the "Check Access" tab of the "Access Control (IAM)" blade, as shown in Fig. 3.

Access Control Button
Fig. 2

Access Control Blade
Fig. 3

The "Role Assignments" displays a list of existing role assignments for this Storage Account, as shown in Fig. 4.

Role Assignments Tab
Fig. 4

On the "Check Access" tab, click the [Add role assignment] button (Fig. 5) to display the "Add role assignment" dialog, as shown in Fig. 6.

Add Role Assignment Button
Fig. 5

Add Role Assignment Dialog
Fig. 6

This dialog is separated into two tabs, representing the different types of roles: Job function roles, intended for users of the services and its data; and Privelged administration roles, intended for those who are managing the Storage Account. Search for the role to which you wish to add a user. In the figure, we searched for "Storage Blob Data Contributor," so the dialog filters the list of rows to show us this role. Select the role.

On the "Members" tab (Fig. 7) you can add users to the selected role.

Add Role Assignment DialogMembers Tab
Fig. 7

Click the [Select members] button (Fig. 8) to display the "Select members" dialog, as shown in Fig. 9.

Select Members Button
Fig. 8

Select Members Dialog
Fig. 9

Search for a user, select that user, and click the [Select] button (Fig. 10) to add the selected user or users to the selected role.

Select Button
Fig. 10

The User should now appear in the list of members, as shown in Fig. 11.

Add Role Assignment Dialog
Fig. 11

At this point, the user has not yet been assigned to the selected role. Click the [Review + assign] button (Fig. 12) to activate the "Review + assign" tab. Then select the [Review + assign] button again to assign this user to the selected group.

Review Assign Button
Fig. 12

The user is now assigned to the group and should appear in the list of role assignments and should have rights appropriate to that group.

In this article, I showed you how to secure an Azure Storage Account by assigning users to appropriate roles in that account.


Azure Storage Accounts allow you to store data in the cloud in a secure, scalable, and highly available way. A Storage Account provides storage of four broad categories of data objects: blobs, tables, queues, and files. In this article, I will focus on blobs, showing you how to use the Azure Portal to upload files into an Azure Storage Account Blob Container.

Log in to the Azure Portal and navigate to the Azure Storage Account, as shown in Fig. 1.

Overview Blade
Fig. 1

Select [Storage browser] (Fig. 2) in the left menu to display the "Storage browser" blade, as shown in Fig. 3.

Storage Browser Button
Fig. 2

Storage Browser Blade
Fig. 3

Click the "Blob containers" panel (Fig. 4) to display a view with "Blob containers" selected, as shown in Fig. 5.

Blob Containers Panel
Fig. 4

Blob Containers Blade
Fig. 5

Click the [Add container] button (Fig. 6) to display the "New container" dialog, as shown in Fig. 7.

Add Container Button
Fig. 6

Add Container Dialog
Fig. 7

At the "name" field, enter a name for a container.

The Anonymous Access dropdown is enabled if you have enabled anonymous access for the storage account. In this case, it is disabled, so anonymous access is not an option for this container.

Click the [Create] button (Fig. 8) to create the container.

Create Button
Fig. 8

The dialog closes, and the new container should display in the view, as shown in Fig. 9.

Blob Containers View
Fig. 9

Click the container to open it and click the [Upload] button (Fig. 10) to open the "Upload blob" dialog, as shown in Fig. 11.

Upload Button
Fig. 10

Upload Blob Dialog
Fig. 11

Click the "Browse for files" link and select files on your computer, or drag files from Windows Explorer onto the dialog. If files with the same name are already stored in the container, check the "Overwrite" checkbox to overwrite these files with new ones.

Click the [Upload] button to begin uploading files.

When the files finish uploading, they should appear in the container view, as shown in Fig. 12.

Container With Files
Fig. 12


Azure Storage Accounts allow you to store data in the cloud in a secure, scalable, and highly available way. A Storage Account provides storage of four broad categories of data objects: blobs, tables, queues, and files.

This article walks you through the process of creating an Azure Storage Account.

Navigate to the Azure Portal and log in.

Click the [Create a resource] button (Fig. 1) and search for "Storage Account," as shown in Fig. 2.

Create Resource Button
Fig. 1

Search For Storage
Fig. 2

From the list of results, select the [Create] button in the "Storage Account" panel (Fig. 3) to expand the menu, and select the [Create] option, as shown in Fig. 4.

Storage Account Panel
Fig. 3

Create Storage Account Button
Fig. 4

The "Create a Storage Account" dialog displays with the "Basics" tab selected, as shown in Fig. 5.

Create Storage Account Dialog - Basics Tab
Fig. 5

At the "Subscription" dropdown, select the subscription in which you want to create this Storage Account. Many of you will have only one subscription, so you will not need to choose anything here.

At the "Resource group" field, select the resource group in which you want to create the Storage Account, or click the "Create new" link to create a new resource group in which to add the Storage Account. A resource group is a logical grouping of Azure resources you want to manage together.

At the "Storage account name" field, enter a unique name for this Storage Account.

At the "Region" dropdown, select an Azure region in which to create the Storage Account. Consider the location of the people and services that will be using the data in this account to minimize latency.

At the "Primary service" dropdown, select how you most often plan to use this account. Azure will optimize the account for this service. The options are:

  • Azure Blob Storage or Azure Data Lake Storage Gen 2
  • Azure Files
  • Other (tables and queues)

At the "Performance" radio button, select "Premium" if you require high-speed data access. This selection will cost extra. Select "Standard" if you do not need low latency.

At the "Redundancy" dropdown, select the type of redundancy you would like for this service. Although all Azure Storage Accounts create multiple copies of your data, you can decide where that data is stored: in the same data center or in a different region. The options are listed in ascending order of protection and cost, with a description below each option.

Fig. 6 shows the "Advanced" tab. It is unnecessary to change anything on this tab, but it allows you to configure additional security on the account.

Create Storage Account Dialog - Advanced Tab
Fig. 6

Fig. 7 shows the "Networking" tab. Changing anything on this tab is unnecessary, but it allows you to restrict access to the account to specific networks and configure private endpoints.

Create Storage Account Dialog - Networking Tab
Fig. 7

Fig. 8 shows the "Data protection" tab. It is unnecessary to change anything on this tab, but it allows you to configure the Storage Account to make it possible to roll back changes to your data.

Create Storage Account Dialog - DataProtection Tab
Fig. 8

Fig. 9 shows the "Encryption" tab. It is unnecessary to change anything on this tab, but it allows you to configure what is encrypted and how to encrypt it.

Create Storage Account Dialog - Encryption Tab
Fig. 9

Fig. 10 shows the "Tags" tab. It is not necessary to change anything on this tab, but you can apply name-value pairs to this resource that you may use to filter or sort your reports.

Create Storage Account Dialog - Tags Tab
Fig. 10

Fig. 11 shows the "Review + create" tab. If you made any errors, such as leaving a required field empty or selecting an inconsistent combination of options, these errors will be listed here, and you will need to correct them before you can proceed.

Create Storage Account Dialog - ReviewCreate Tab
Fig. 11

After correcting any errors, click the [Create] button (Fig. 12) to start the creation of the Azure Storage Account.

Create Button
Fig. 12

After a short time, a confirmation message similar to the one in Fig. 13 will display, indicating that the Storage Account has been created.

Deployment Complete message
Fig. 13

Click the [Go to resource] button (Fig. 14) to show the "Overview" blade of the newly created Storage Account, as shown in Fig. 15.

Go To Resource Button
Fig. 14

Storage Account Overview Blade
Fig. 15

This article showed you how to create an Azure Storage Account. I will show you how to add data and work with this account in future articles.


Last month, Illinois Institute of Technology graduate student Aviral Bhardwaj approached me about hosting a hackathon at the Chicago Microsoft office. Aviral told me he had run multiple hackathons in India before coming to Chicago to pursue a Master's degree.

I reserved Microsoft's Multi-Purpose Rooms and met several times with Aviral to coordinate.

Nearly 500 people registered for the hackathon, so he had to trim the list to fit into the event space.

On Saturday, May 3, over seventy people attended the event, most of them graduate students from universities across Illinois.

The attendees divided into ten teams and spent the day building RAG solution. For those who don't know, RAG stands for "Retrieval Augmented Generation" and allows generative AI applications to get information from other data sources before responding to the user. This technique can allow you to create chatbots specific to users and knowledge bases. Pathway donated licenses of their ETL product and sent project manager Kasia Lechka as a mentor. Many students used this tool to accelerate their application development.

During lunch, I offered a tour of the Microsoft office. Interest in this was high enough that I split the group in half and conducted the tour twice. One attendee called this tour out as a favorite moment:

"One of my favorite moments? Touring the "Idea Floor" with David Giard—a space in the Microsoft office filled with domain-specific innovations to spark creativity. It simulated my mind and got my creative juices flowing for sure! ✨" (link)

At the end of the day, each group presented its project to all attendees. Along with three other judges, we picked the best three projects. The other judges were Kasia, Uber Freight Manager Alex Nova, and University of Illinois Computer Science Graduate Student Jugal Bhatt.

We selected three winning teams. They created applications that used AI and RAG for time management, monitoring clinical data, and tracking driver safety in real time.

It was a long day (8 AM to 6 PM), but well worth it to see the energy and enthusiasm the hackers brought to the event.

Photos


Episode 849

Glenn F Henriksen on Deliberate Software Development

Glenn Henrikson questions why we do things. Sometimes, it is simply because we have always done it that way. Sometimes, it is because of a sunk cost fallacy or disproportionate value placed on things we built. For example, he advocates eliminating backlogs. He explains his reasoning in this thought-provoking conversation.


April 2025 Gratitudes

Comments [0]

5/4
Today I am grateful to participate in HackChicago's hackathon yesterday.

5/3
Today I am grateful to see an excellent concert last night, featuring Joe, Musiq Soulchild, and Eric Benét last night.

5/2
Today I am grateful for lunch with Adam yesterday!

5/1
Today I am grateful I was invited to speak at two upcoming events!

4/30
Today I am grateful for a new knee brace.

4/29
Today I am grateful for a hot bubble bath yesterday.

4/28
Today I am grateful for a ride around Northerly Island yesterday.

4/27
Today I am grateful for a Korean lunch yesterday with Tim and Natale

4/26
Today I am grateful:
- to volunteer at Microsoft's 'Take Your Family to Work' Day yesterday in Chicago.
- for drinks with my neighbors at a brewery in the Chicago Stockyards neighborhood last night

4/25
Today I am grateful to see the NBA playoffs game at Little Caesars Arena last night with my sons and their friends!

4/24
Today I am grateful to attend the ISTC STEM Challenge Showcase yesterday and see the presentation by the students I have been mentoring this year.

4/23
Today I am grateful:
- for dinner with Eric and Anissa yesterday
- to see an excellent Iron & Wine concert featuring the puppetry of Manual Cinema last night

4/22
Today I am grateful that my car is still running well after 8 years!

4/21
Today I am grateful for Easter lunch with Nick and Adriana yesterday

4/20
Today I am grateful to attend and present at the SHPE conference at Northwestern University yesterday.

4/19
Today I am grateful to see "Sunny Afternoon" at the Chicago Shakespeare Theatre last night.

4/18
Today I am grateful to attend Columbia College's "Biggest Mouth" battle of the bands last night at the Epiphany Center for the Performing Arts.

4/17
Today I am grateful to participate in a Copilot workshop and the AI Camp yesterday.

4/16
Today I am grateful to file my taxes yesterday.

4/15
Today I am grateful for coffee with Christine yesterday

4/14
Today I am grateful for:
- an exciting overtime Warriors - Clippers game last night at the Chase Center
- dinner and stargazing with Glenn and Lana last night

4/13
Today I am grateful for:
- an evening with John and Becky
- an exciting A's - Mets game in Sacramento yesterday

4/12
Today I am grateful
- to visit the California state capitol and the California Museum yesterday
- to attend an exciting Kings - Clippers game at Golden1 Center last night

4/11
Today I am grateful to see Ani DiFranco in concert last night.

4/9
Today I am grateful to talk with a financial advisor and restructure my retirement portfolio.

4/8
Today I am grateful for 300 consecutive days studying Spanish.


4/7
Today I am grateful to play pickleball on Saturday and Sunday and get better as the weekend went on.


Joe 2025Do you like R&B and soul music? Were you a fan twenty years ago? If so, you would have enjoyed the concert Friday evening at the Arie Crown Theater. Billed as "The R&B Invitation Tour," this show brought together three hitmakers from the early 2000s: Joe, Musiq Soulchild, and Eric Benét.

The Arie Crown Theatre is hidden in the back of the McCormick Place convention center, making it one of the least accessible venues in the city. Despite this, a crowd packed the auditorium to hear three excellent performances by three excellent singers.

The evening opened with Eric Benét, who played a brief set, including his hit "Spend My Life With You" and his cover of Toto's "Georgy Porgy," which inspired the audience to sing along. He was joined on stage by talented young singer Charity Davis, who alternated between background vocalist and duetist.

Musiq Soulchild 2025The next act featured Musiq Soulchild, a singer-songwriter known for combining R&B, funk, blues, and jazz. Two dancers accompanied him, gyrating to the rhythms of his singing. He opened with his biggest hit, "Halfcrazy," immediately engaging the audience.

Between sets, comedian MC Lightfoot entertained with dirty jokes, silly dancing, poking fun at the audience, and old songs played by a DJ. I have seen funnier comedians, but he was good enough to keep us interested until the next act was ready.

Eric Benet 2025Finally, Joe took the stage as headliner, performing for over an hour. Joe's brand of soul music features many love songs and erotic lyrics, and his stage show played off this. Some of his dance moves were suggestive, and he frequently moved to the front to flirt and hold hands with ladies crowding the stage. One aggressive woman refused to let go of his hand, even after he whispered, "Let me do my show, baby," for all the audience to hear. He closed the evening with two of his best: "All the Things (Your Man Won't Do)" and "I Wanna Know."

Each act was more complex than the one before. Benét performed to recorded music, Musiq had three musicians behind him, and a full band backed Joe. None of the singers returned for an encore, and each kept their set to a reasonable time, allowing the aging crowd to get home early.

It was a lovely evening that I was fortunate to spend with a special person.

Photos:

Joe

Musiq Soulchild

Eric Benét



GCast 193:

Using the Sentiment Analysis Feature of the Azure Language Service

Learn how to use the Sentiment Analysis feature of the Azure Language service to determine if text is positive, negative, or neutral


Episode 848

Richard Campbell on the Current State of Energy Production

Richard Campbell discusses how green energy is produced and stored, how energy production varies by region, and other low-carbon energy production. He describes how different power generation methods work best in various parts of the world and the challenges with each of these methods.


Oscar Hijuelos's 1989 novel, "The Mambo Kings Play Songs of Love," tells the story of the rise and fall of Cesar and Nestor Castillo - two brothers who emigrated from Cuba to New York City in the 1950s, hoping to make a name for themselves playing Latin music. They struggled for years, but their high point came when they appeared in an episode of "I Love Lucy," performing their most popular song: "Beautiful María of My Soul." The song was an ode written by Nestor about a woman he loved who married another man.

The novel begins at the end when Cesar is a lonely old man, looking back on his life and clutching to his moment of fame years earlier. The author then takes us through the events that led Cesar to his current place.

The brothers were very different. Cesar was a swaggering womanizer, while Nestor was quiet and thoughtful. But they loved each other and tried to be there for one another.

Hijuelos gives us a picture of family life and the struggle for success and respect in a new land. "Mambo Kings" is a story of loss - the loss of a woman once loved, the loss of a sibling, and the loss of potential fame and fortune. But it is also a story of hope and resilience.


IronAndWine2025-1I decided to drive to Madison, WI for the Iron & Wine concert partly because I enjoy his music. But this concert was special. The singer-songwriter partnered on this tour with Manual Cinema - a Chicago-based collective that produces puppetry and multimedia shows. I have seen two productions of Manual Cinema, and I love their work. Tuesday evening's partnership at the Orpheum Theatre seemed destined for success.

Colorado-based folk singer Jobi Riccio opened the show with an impressive set of songs, accompanying herself on guitar. Later, she would return to the stage to sing a duet with the headliner on "All in Good Time."

Iron & Wine (his real name is Samuel Ervin Beam) drew on the ten studio albums he has released over the last two decades for this evening's performance. But he sniffed into the microphone and announced that there was "a smell of new songs in the air" as he sang selections from his 2024 release "Light Verse" and a few tunes written in the past year. He opened with his sentimental song "Carousel." A screen behind the band showed silhouettes of dancers circling one another. Manual Cinema created this projection with cutouts and projectors to accompany the music and lyrics of the performer.

IronAndWine2025-2Manual Cinema's projected silhouettes complimented about half of the songs. At times, they provided a literal interpretation of the music, as when they showed the audience blades of grass on "Teeth in the Grass" or displayed a boat on a blue field during "On the Sea." At other times, abstract shapes moved across the screen to capture the music's emotion rather than the lyrics' meaning. Their best addition came on "Call It Dreaming" when one of the puppeteers stood in front of the light to project her silhouette on screen. The other puppeteer added mini cars and other items to turn the woman's shoulders into a landscape as Iron & Wine performed "Call It Dreaming."

I&W displayed a corny sense of humor throughout the night. When someone shouted a compliment, he replied, "Thank you, Mom," at least three times. Forty minutes into the show, he joked that the show was over, telling the audience, "Thanks for coming. I hope to see you next time." It was silly, but it was fun.

After his duet with Riccio, he dismissed his band (keyboards, drums/percussion, violin, and bass) and performed "Bitter Truth" and "Autumn Town Leaves" alone on stage with his voice and guitar.

I loved my first experience seeing Iron & Wine live. I loved even more that he invited Manual Cinema to enhance his music.

Playlist



Episode 847

Adi Polak on AI Agents and the Necessary Data Infrastructure

Adi Polak leads the Developer Advocacy team at Confluent. She talks about Agentic AI and some of the tools, processes, patterns, and best practices that go into creating AI Agents.


SunnyAfternoonCastI have been listening to the Kinks for decades. When I heard that lead singer Ray Davies had written a play about the band and that the play was running at the Chicago Shakespeare Theatre, I leaped at the chance. Friday night, we enjoyed the local performance of "Sunny Afternoon."

Named for one of The Kinks' hit songs, this musical takes us on a journey as four lads evolve from working-class London teenagers to rock icons. The story centers around the rise of the band and its effect on the members. Songwriter/singer Ray is troubled that he must focus on things other than music; his brother Dave falls to the temptations of fame, living a life of sex and drugs; drummer Mick Avery feuds with Dave; and drummer Pete Quaife - Ray's childhood best friend - laments the changing relationship of the friends.

Danny Horne is very good as the cerebral but flamboyant Ray, but Oliver Hoare steals the show as the manic Dave.

The story is solid, but it is not uncommon for a rock band to experience similar turmoil when facing meteoric success. The music sets this one apart. Ray Davies's compositions progress the narrative and entertain the audience. Songs like "A Well Respected Man," "Stop Your Sobbing," and "Where Have All the Good Times Gone" rocked the hall throughout the evening. But "Waterloo Sunset" sounded like an anthem at the show's end. After taking a bow, the boys returned to the stage to perform a medley of "Lola," "All Day and All of the Night," and "You Really Got Me" as the audience rose to its feet and danced.

It was a great ending to a very good show.


AniDefranco2025Ani DiFranco has always traveled her own path.

Early in her career, he established herself as the anti-establishment folk singer of the 1990s. She rejected the typical path to success of signing with a major label and releasing singles. Instead, she started her own music label - Righteous Babe Records - and built a following through college station airplay and live performances.

Friday evening, DiFranco brought her performance to Thalia Hall in Pilsen - a show that sold out quickly.

She opened with the quirky tunes "Pixie" and "Dilate." DiFranco puts a lot into the lyrics of her songs, which endear her to her audience. Many of her songs sound like feminist anthems.


I love seeing artists who enjoy performing, and Ani's joy is infectious. She joked that she was considering a suggestion given to her by many people that she should run for President because "apparently you don't have to know shit!" Making clear that she was not serious, Ani followed with the message that her philosophy is to "be nice!"

Backed by three strong musicians on drums, upright bass, and electric or lap steel guitar, DiFranco proved herself an accomplished musician as she coaxed a variety of sounds out of a plethora of acoustic guitars.

She was scheduled to perform two nights at Thalia Hall, so she mixed up the set list so those who bought tickets to both shows would see something different.

Ani DiFranco is a performer who sounds much better in person than on record. She brought joy to her enthusiastic audience.



When Laughing Boy - a young Navajo living in early twentieth-century Southwestern United States - met Slim Girl at a dance, he was smitten. The two married and built a life together. Despite sharing a Native American heritage, the two grew up very differently. Laughing Boy was raised in a Navajo family. He excelled at traditional tribal skills, such as silversmithing and training horses. By contrast, the US government took Slim Girl at a young age and educated her in American schools, encouraging her to abandon her language, religion, culture, and heritage. LB is simple and optimistic, while SG is world-weary and opportunistic. Slim Girl struggles to maintain a life in both worlds, sometimes deceiving her husband as she returns to a lover who retains a hold on her. After being abandoned by a white man who impregnated her when she was a young adult, Slim Girl turned to a life of prostitution - a life she has not entirely abandoned. She keeps her past secret from her husband, but he loves her regardless. Their relationship is a microcosm of the clash of cultures between whites and reds at the time. Laughing Boy's family and the rest of his people never accept Slim Girl; she never feels at home in either world.

Oliver La Farge's 1929 novel "Laughing Boy" explores cultural identity and loyalty. It is a coming-of-age story, a love story, and a Western saga. It tells of the issues brought about by assimilation.

Many question whether this novel deserved the Pulitzer Prize over other classics of the same year, such as Faulkner's "The Sound and the Fury" and Hemingway's "A Farewell to Arms." Others question if La Farge, a white anthropologist, had the right to tell a personal story about a culture he only observed from the outside. But the author's first novel feels authentic. His protagonists are layered and complex, and he tells their story with sensitivity.


Emmylou Harris, Verlon Thompson, and Shawn Camp 2025The Friday night show at Evanston's Cahn Auditorium was not what I had expected. I had front-row seats to see Emmylou Harris, my third time seeing the country superstar. But this show was less about Ms. Harris than Verlon Thompson and Shawn Camp.

Thompson performed with the late Guy Clark for years, and Camp produced some of Clark's albums. This evening, the trio focused on the music of Guy Clark.

Emmylou's name topped the bill, but Thompson and Camp led for much of the evening, taking turns singing lead with impressive guitar work, while Harris provided harmony vocals.

As a longtime fan of Guy Clark, I appreciated their selection of songs, which spanned the singer-songwriter's long career and included "Dublin Blues," "Let Him Roll," "Stuff That Works," and "LA Freeway." They bookended "Desperados Waiting for a Train" with "Red River Valley" - a traditional song that figures prominently in the lyrics of "Desperados."

Harris included some favorites outside the Clark catalog, notably her covers of Townes Van Zandt's "Pancho and Lefty" and "If I Needed You."

Although the show was not what I expected, I enjoyed the evening immensely.


Yesterday, Azure Copilot helped me troubleshoot a demo that was failing for no apparent reason.

I was delivering a demo to over twenty people, and I wanted to show the Computer Vision tools of Azure AI Services. While working on an Azure AI Foundry project, every service hung for minutes before timing out.

I opened Azure Copilot and asked:
     Is there currently an issue with the Computer Vision AI Service?

Copilot responded that there was currently an unresolved issue in the EASTUS region causing excess latency in the response (the exact symptom I was seeing)

I created a new Azure AI Foundry Hub in WESTUS, and everything worked perfectly.

I was able to resolve this issue in minutes, thanks to Copilot!

Of course, I could have navigated to the Azure health page, but I could not remember the URL, and there were lots of people watching, and I did not know if that was even the issue. Copilot got me the answer much more quickly!

This tool should be a regular part of your troubleshooting.


My team and I created a series of videos to get people started using GitHub Copilot. We recorded a screencast and created three copies, each with an audio track in a different language. Hopefully, this makes the technology more available to a global audience.

Thanks to Omar Aviles Rosas, Fabio Padua, and Andy Huang for their contributions to this project.

What are your thoughts? Should we create more like this? Are there other languages you would like to see?


Episode 845

Trinh Tran on Windows Accessibility Tools

Disabilities can be permanent, temporary, or situational. Microsoft Cloud Architect Trinh Tran explains some of the accessibility features of Microsoft Windows that assist disabled users. He covers Narrator, Magnifier, Mouse options, and many other hardware and software accessibility tools.


March 2025 Gratitudes

Comments [0]

4/6
Today I am grateful for exciting semifinal NCAA basketball games yesterday.

4/5
Today I am grateful to see Emmylou Harris perform the music of Guy Clark last night in Evanston.

4/4
Today I am grateful to host an AI Agent Week event last night.

4/3
Today I am grateful to Sara for inviting us to see an exciting Blackhawks - Avalanche game from a United Center suite last night!

4/2
Today I am grateful to see an excellent Robert Cray concert in Skokie last night.

4/1
Today I am grateful that Donald Trump is a competent President and that he never tells a lie.

3/30
Today I am grateful that I found yesterday the thing I lost Friday.

3/29
Today I am grateful to Mary for driving me to and from Pontiac, MI this week

3/28
Today I am grateful to the organizers of #MITechCon for another great event!

3/27
Today I am grateful to attend the #MITechCon Speaker dinner last night in Pontiac.

3/26
Today I am grateful for my first hearing aid.

3/25
Today I am grateful to see Iggy Pop in concert last night.

3/24
Today I am grateful to see Suzanne Vega in concert last night.

3/23
Today I am grateful to spend a weekend with my cousins in the Washington, DC area.

3/22
Today I am grateful for a day seeing the sights in Washington, DC

3/21
Today I am grateful to attend the funeral of my Aunt Jean at Arlington National Cemetery yesterday.

3/20
Today I am grateful to hang out with Greg last night in Arlington.

3/19
Today I am grateful to finish writing my first application using Azure Search and Azure OpenAI.

3/18
Today I am grateful to participate in Tech Week yesterday at the University of Illinois - Chicago

3/17
Today I am grateful:
- to attend a service at 180 Chicago Church for the first time
- for an ABBA Brunch at the City Winery yesterday afternoon, featuring The Neon Queen

3/16
Today I am grateful for a late birthday lunch with my sons yesterday.

3/15
Today I am grateful to volunteer at the Hidden Genius Project this morning.

3/14
Today I am grateful:
- for a visit to Detroit this week
- to stop in East Lansing on my way home yesterday

3/13
Today I am grateful to see an exciting Red Wings game from a suite at Little Caesars Arena last night.

3/12
Today I am grateful for a front-row seat to the Elvis Costello concert last night!

3/11
Today I am grateful to play pickleball outside for the first time this year.

3/10
Today I am grateful to spend the weekend with friends that I first met 45 years ago!

3/9
Today I am grateful for an architecture walking tour of Chicago yesterday with college friends.

3/8
Today I am grateful to lead a discussion of "The Color Purple" by Alice Walker for our book club.

3/7
Today I am grateful to participate in a mentoring event yesterday with graduates of i.c. stars.

3/6
Today I am grateful for a late cancellation that allowed me to play pickleball last night.

3/5
Today I am grateful that I almost always wake up before my alarm goes off.

3/4
Today I am grateful that last weekend was one of the best birthday celebrations of my life (and I've had a lot of birthdays)!

3/3
Today I am grateful:
- to see an exciting Michigan State Spartan basketball victory at the Breslin Center yesterday
- for lunch yesterday with Amanda, Betsy, and Nick.


<< Older Posts