Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
153980 stories
·
33 followers

The Conversation You’re Avoiding | Lasting Happiness with Dr. Elia Gourgouris

1 Share

There’s a result you want. A promotion. A bigger team. More respect from senior leadership.

And between you and that result — there’s a conversation you haven’t had.

Maybe it’s with your manager. Maybe it’s with a peer who’s been undermining your work. Maybe it’s with yourself, about what you actually want and whether you’re being honest about it.

Engineering leaders are extraordinarily good at solving complex problems. What they’re not trained for is the conversation that has to happen before the solution can land.

Dr. Elia Gourgouris has spent 25 years helping leaders achieve deep, lasting fulfillment. He’s the author of the #1 bestseller 7 Paths to Lasting Happiness and one of the most in-demand executive coaches in the world. And when he sat down with me, one idea stopped me cold:

Happiness isn’t just a choice. It’s a skillset.

The engineers I coach are brilliant, maybe the most analytically capable people on the planet. They can model complex systems, debug a failure, and build anything. But when it comes to their own fulfillment — they freeze. They treat happiness like an equation they need to solve completely before they can act on it. So they don’t act.

In this episode, we’ll break that pattern. Dr. Elia and I get into the three traits of the happiest people on earth, a practice of gratitude that actually works for an engineering brain, and the framework that I’ve seen change more careers than almost anything else I coach.

It’s called HOT conversations. Honest. Open. Transparent.

And I’ll tell you right now — there’s one waiting for you, squarely between you and your goal.

The Happy Engineer Podcast

The Conversation You’re Avoiding | Lasting Happiness with Dr. Elia Gourgouris

LISTEN NOW: The Conversation You’re Avoiding | Lasting Happiness with Dr. Elia Gourgouris

Back to ALL EPISODES

What You’ll Learn

The conversation you’re avoiding is the thing in your way

Every result you want in your career has at least one HOT conversation standing between you and that outcome. Promotion, recognition, a team that performs, a leader who actually sees you… all HOT conversations waiting to happen.

HOT stands for Honest, Open, Transparent. And the reason most engineering leaders never have them isn’t that they don’t know what to say. It’s that they’re waiting for a safer moment that never comes.

Dr. Elia’s challenge is direct: Who have you been inauthentic with? What have you been keeping to yourself and building resentment around? That conversation isn’t just a personal growth exercise. It’s a career accelerator.

Happiness is a skillset — and engineering managers can build it

“Happiness is a choice” sounds good on a coffee mug. But Dr. Elia pushes further: it’s a skillset, which means specific practices, done consistently, produce measurable results.
For the engineering brain that needs a system — this is great news. You don’t have to “feel” your way to fulfillment. You can build toward it deliberately, one micro-habit at a time. For example, gratitude isn’t soft. It’s a daily practice with a neurological basis that you can iterate on like any other system.

Stop trying to solve the whole equation

Engineers treat happiness like a complex multivariate optimization problem. They won’t act until they’ve modeled all the variables. Or they get so burned out, it feels like there is no solution. Truth is happiness is hard to quantify, so they never act.

Dr. Elia’s antidote is simple: stop trying to solve the whole equation. Find the smallest, most trivial thing that makes you one percent happier. Do that. Then do the next one. We’ll give you some ideas in the episode.

You don’t have to change everything. You just have to take the next step.

That’s not a life coaching platitude. That’s a system.

About Dr. Elia Gourgouris

Dr. Elia Gourgouris is the author of the #1 Amazon best-selling book 7 Paths to Lasting Happiness and 7 Keys to Navigating a Crisis: A Practical Guide to Emotionally Dealing with Pandemics & Other Disasters. He is the President of The Happiness Center and Founding Partner at The Global Institute of Thought Leadership.

His motto “Happiness is a choice!” has led him to becoming a leading authority in Happiness and Corporate Wellness, and a high in demand Speaker at conferences and Universities around the world.

Over the last 25 years, he has helped thousands of people achieve happiness and fulfillment, both in their professional and personal relationships through his coaching and keynotes.

FULL EPISODE TRANSCRIPT:

Please note the full transcript is 90-95% accuracy. Reference the podcast audio to confirm exact quotations.

Episode 012 – Dr. Elia Gourgouris – Interview – Happy Engineer Podcast

[00:00:00] Zach White: Welcome back. Happy engineers. It’s so great to be with you. And I am pumped to have a conversation with Dr. Elia the Happiness Doctor. We both have an appointment today with the right guy. So engineers get, get excited. Dr. Elia I am super curious. If you could just take us back to the story of how you became.

[00:00:36] The happiness doctor. I mean, this is the happy engineer podcast and couldn’t match up in a better way, but just tell us, like, where did you first become known as the happiness? 

[00:00:47] Dr. Elia Gourgouris: Well, I’ll go even farther back. And thank you for having me on the show shows Jack uh, people have said, well, first of all, how did you become a happiness expert before you became the doctor?

Expand to Read Full Transcript

[00:00:57] And honestly, it goes back to the day, first day I was born. Now I know this may sound a little weird. How does that that’s even possible? So I was born a long time ago in Athens, Greece, you know, back in the day where nobody was invited in the birthing room, right. There was no Snapchat, Facebook live, nobody was recording anything.

[00:01:14] Right? And the doctor. So as the story was told me, growing up in my family, I guess after I was born, my dad shows up kind of like a tough, you know, Greek guy, you know, whiskeys smoking. And I saw it and comes up to the nurse and says, which one’s my son. And I guess behind this little window, there were like five babies all wrapped up in the same old, generic, white blanket back in the day, they all look the same and my nurse comes up to the window.

[00:01:42] And at that moment I had a smile on my face. Something nurse, Justin. My dad says your son, he’s the happy one. So growing up, this is the store that I was told, right? Well, you came out of the woman happy. You’re the happy one. So that was my, that became my brand, which is a great brand to have obviously fast forward 25 years now I’m in graduate school, getting my PhD in cycle.

[00:02:04] And the professor is talking to us about nature versus nurture. Right. You know, what contributes to it is obviously it’s that genetic predisposition that makes us who we are, or is it our environment? Yeah, of course. It’s, you know, both contributed. So I had this terrible thought. I’m like, wait a minute.

[00:02:19] What if my dad shows up 15 minutes late, comes up to the same window, asks the same nurse, the same question, which is my son. And at that point, you know, I have this terrible stomach pains, gas pains, and I’m screaming my head off and I’m crying. And the nurse or my desk is your son. She’s the cranky one.

[00:02:36] And then growing up in my home, my family says, you know what? You came out of the womb, cranky, cranky. You’ve always been a miserable little beep, you know? Oh, wow. So why do I share this story? Is this because we have all been branded. If you go back and think about it, How you grew up in your life? It usually happens early on in our family.

[00:02:58] Usually we get a brand now having said that there are plenty of brands that are positive and beautiful, obviously that happy one is at the top of the list. You can’t get a bit of brand like that, but there are other ones, the creative one, the intelligent one, you know, the smart one, the loving one, the adorable one, the princess, the athletic one.

[00:03:16] I mean, we can go on and on. So if you fall in any of that category in that, you’d be. Count your blessings and say, thank you. However, and in my experience, I’ve worked with thousands and thousands of people in travel all over the world, talking about corporate wellness and happens. And so on. I can tell you that far too many, actually the majority of people have grown up with a negative brand, which of course, in that negative print, you know, the way that they view themselves as a result of that has tremendous impact on their happiness and wellness.

[00:03:52] In other ways. And I wouldn’t go with all the terrible, you know, uh, negative brands people have been branded, but I will tell you the three most common, and I know it’s hard to believe, but trust me, the most common negative brands are the phones. The ugly one, the stupid one or the fat one. Now you might say, well, who in the world would actually say that to their kid?

[00:04:12] Believe me, they’re far too many people. So about, you know, five or six years ago, I’m giving a talk at a women’s conference in North Carolina, 500 women and myself. And I’m sharing this story that I just shared with you. And I say, look, if you don’t Blake, your brand today is the day that you may choose as an adult now to rebrand yourself and basically empower the audience to say, you know what?

[00:04:40] I just don’t. So out of the corner of my eye, this lady with gray hair in her seventies stands up and starts waving her arms. And she kind of throws me off because I’m like, I mean, there’s one, right? I’m doing my thing. But at the same time, I can’t ignore her because everybody’s looking at her. So I’m looking at her too.

[00:04:56] I stopped my talk and I’m like, yes, ma’am and C stands up and says, you know, I’m 70 something years old. And for the last seven decades I have been called, and this is my brand fat, ugly and stupid. And then some like with the next, with. And I mean, Zach, you could hear a pin drop I’m eager. So, so personally, I don’t know if I would have the strength to be that vulnerable and that opens in front of 500 strangers.

[00:05:22] I don’t think I could do it. So I admired her courage honestly, to get up and do that. So I looked at her, she’s looking at me, everybody’s looking at me, like not what’s going to happen. Right. So I’m like, okay. Ma’am so, uh, what would you like your new brand to be. And her name was Leah Leah, by the way, her first name, she goes well from now on, I want to be known as princess Leia.

[00:05:44] I kind of like a star wars thing immediately. I’m like, yes, your majesty. Like I bowed down and I’m like, yes, you’re a Madison. You know, like this and people started to laugh in a very tense moment, became a very lighthearted moment. Uh, but also an important one in why do I share this story? Because if, uh, if a person in her seventies.

[00:06:05] Can change per brand than anybody else going to do it. 

[00:06:09] Zach White: Yes, really. I love that story. And engineers listening probably have a mix, right? A little bit of the, maybe they were the intelligent one and they got into engineering because they had the brain power, but also one or multiple of these negative brands is, is likely.

[00:06:27] For them as well. And I want to actually back up a little bit to your childhood experience then from, from zero to 25, then that, before that nature nurture conversation, did you find yourself really experiencing what I’d say a heavily biased life towards happiness, or was it still a mixed bag for you and you had negative brands to overcome?

[00:06:49] Or what was your actual experience? Growing up, 

[00:06:53] Dr. Elia Gourgouris: you know, people that have known me for decades. Right. And you know, I go back to Chris and I have friends that are friends for 50 years. They’ll say, you know, from the moment, you know, from a, from a, from a little kid, you always have this happy disposition, like always saw the lighter side of things.

[00:07:07] And had this positive attitude, like, you know, things work out now. That’s not to say that I didn’t get mad. I didn’t get, you know, upset. I didn’t cry. Or, but for the most part, it threatened my entire life. This is something that has come to me relatively easy. There’s my wife, we met for 30 years. He goes, you love people so deeply and your heart is so cool.

[00:07:27] And you do that for so many people. How do you do that for all these years? And I said, I don’t really know. It’s like a reservoir of love and happiness just exudes. So, you know, what you see is what you get. I’m not saying I’ve had a perfect life and I’ve had my ups and downs with tragedy. There’s of course I lost my parents young and so on.

[00:07:42] But for the most part, I believe in the goodness of people, I believe in, I feel like I’ve been given a gift because I spent the first half of my career as a clinical psychologist in private practice. I felt like I’ve had this gift that I can see people’s potential. Before they consider themselves and then help them to live in, in, you know, to get that out and to see it.

[00:08:02] You know what I mean? So I feel like that’s getting relatively easy to me. I would say. 

[00:08:07] Zach White: Yeah. If I was labeled the grouchy one, let’s just pretend. So Zach, you know, I was, I was the baby to the left of you, eyes out, just be in a grouch cause my stomach hurt. Or maybe I had no reason to cry at all. I just cried.

[00:08:24] Right. So if I grew up that way and maybe have lived an experience of life that really matches that I have struggled with experiencing joy and happiness and love and fulfillment, the way you described it. You know, you say happiness is a choice and I love that, but the objection that pops in my mind is like Dr.

[00:08:44] Gala, can I choose happiness and reach a level? Like what you have? Or is there no hope for me because I wasn’t branded and born 

[00:08:54] Dr. Elia Gourgouris: that question. And, you know, although happiness is a choice is a great slogan and it looks good on books and so on. And, and, you know, on social media and beams, Well, the other 50% of that story is which doesn’t get as much visibility and maybe it’s not quite as sexy or as exciting is that happiness is a skillset.

[00:09:15] Wow. Yes, it’s a choice, but it’s a skillset, meaning that if you do certain things consistently in your life, you will definitely find happiness, but it takes time. Yes. If somebody was born in the happy one or whatever, there’s a certain predisposition towards happiness. Well, good for you. But you know, most people are not like that, so we can learn how to be happy.

[00:09:36] We just have to do certain specific things, uh, continuously, uh, on a daily basis or weekly basis and so on. And if you do those things, you’ll definitely find happiness.

[00:09:47] Zach White: Th this is, this is mind blowing, right? This is whole new category for me. I love it. Happiness to most of us as engineers is one of our, eight color cran box of emotions. And we wish we could color with it more often, but you know, for a lot of our listeners, it’s, it’s rare that we experienced this true deep happiness and to hear happiness is a skill set.

[00:10:07] There’s work involved. It’s like, okay, well, Next question for me as an engineer as well. What’s that? What is the work? How do you do that? So where do you begin? How do you get your head wrapped around this idea that it’s not a, an emotion that is an effect of some, you know, mystical cause, but in fact, I can go be a proactive creator of that through my skills, 

[00:10:30] Dr. Elia Gourgouris: my, and my first book, seven past the lasting happiness that, you know, ended up becoming a number one.

[00:10:35] You know why it’s not, like I said something different than it hasn’t been said before that Aristotle twenty-five hundred years ago, the great Greek philosophers have said happiness is the whole purpose and meaning of life, the whole aim and end of human existence. Like what a statement. So, so people, it, you know, if you look at the reviews on Amazon, someone people have actually said people that have known me.

[00:10:58] Yeah. And I wrote that book from my heart, that other BFC each, I wrote it. So if you’re 18 years old at a high school and you started your life for 85, you’re going to get something out of it. You know what people have said, like Dr. Eylea, you know? Yeah. It’s a nice book. We like it, but it’s not like she said something that Aristotle, didn’t say 2,500 years ago.

[00:11:16] But what we love about your book is at the end of every chapter, you have a couple of points. For the reader to ponder and to consider it, you ask us a couple of questions to answer, but more importantly, the last part is what you call take action, right? Because that’s where the magic happens. And that’s why I say it’s a skillset I can talk about.

[00:11:37] What other seven paths to happiness. Self-love, self-care uh, gratitude, forgiveness. Self-forgiveness finding your purpose, you know, feeding your spiritually. Being of service and be kind to other people and having healthy relationships. Well, we all know that now the question is, how do you do that? And both from my experience as a psychologist and then as a corporate, you know, executive coach and so on.

[00:12:00] I think people like, yes, forgiveness is important. You know, what’s even more important is self forgiveness. There is no greater act of self-compassion than self forgiveness and people say, okay, well, that’s fine. But I don’t know how to do that. So I physically take them. This is how you forgive yourself.

[00:12:19] Step by step by step. We all know that gratitude is wonderful. There’s no quicker way to feel happy than to be grateful because physiologically you can be grateful and depressed at the same time. You can hold the space in your brain simultaneously. So yes, having an attitude of gratitude, it sounds great.

[00:12:37] It matches it’s a great little slogan. Again, it’s easy to be grateful when things are going well, I go the extra mile. Because I feel like Zach, you and I, and everybody listening, we’re all graduates from the same university. We take all the university of adversity and the older you get the higher, the degree when you’re younger, you’re in elementary school, you get older.

[00:13:02] At some point you have a master’s degree and then you have a PhD and then you have, you know, the older year. And when you got gray hair, you have faced so much adversity in your life. Not the question because. Is it possible to be grateful in the midst of adversity? Is it good? Right? I mean, that’s a, that’s a real question.

[00:13:19] Can we be grateful in the midst of adversity? And what I have discovered is this, that the most successful people in life and the happiest people in life don’t have less adversity than you and I. They have the same, same human frailties, same weaknesses. They make the same mistakes. Uh, you know, just like everybody else, except that they do three things differently than the rest of us.

[00:13:43] Number one, they take personal responsibility, meaning this is on me. Nobody put a gun to my head to make that decision. I own this. Right. So there’s no victim out. I own a number one. They learned from their mistakes, you know, just like Nelson Mandela said, he said in life, either you win or you learn, there’s no losing as long as I’m either winning or I’m learning, there’s no lose you.

[00:14:08] Right. So that’s number two. And then number two, the third thing that they do consistently, which personally I think is even more important than the first two, is that they have the ability to let them go. Meaning that what happened last year? I’m not going to care to do this year, or I had a matter of fact, what happened last month.

[00:14:25] I’m not going to get into this month. What are you going? What happened yesterday into today? And how do they do that? After the take responsibility and they learn their lesson is they have the ability to forgive themselves and let it go. 

[00:14:38] Zach White: So, yeah, I love this there’s three steps. And so engineers were, were how people, right?

[00:14:44] We always want to know the process and the system and. In a way, what I love about this approach, what you’re saying, it aligns perfectly with how I coach at a Waco and the, Hey, we’ve got to get it to action. Knowledge by itself is not useful or powerful it’s knowledge that you implement and take action on that creates power in your life.

[00:15:03] You know, would you be willing to get a little more specific with us on how to take action on this attitude of gratitude? For example, is one of the paths to happiness in your book. And I highly recommend everybody go get a copy and read the book for yourself, but just to give some, some actionable nuggets, how do you do it?

[00:15:20] Like what’s the actual step? Do I have to sit down and meditate? Do I need to get a journal? Do I like, 

[00:15:26] Dr. Elia Gourgouris: I think journaling actually does help. Listen, I could write down three things that I’m grateful every single day for 365 days and never repeat myself. Do you know that if you just take the physical body, I can go through every organ that I have that works while I sleep my heart, that pumps my brain.

[00:15:51] That works my fingers. You know what I’m saying? It’s endless. The credit list is endless. So what I recommend for people. Every day, write three things down, bullet points. Doesn’t take more than, you know, 60 seconds, three things that you’re grateful for. Some people like to do when they first wake up before they brush their teeth.

[00:16:09] Just like you put that grateful intention out into the world. But other people like to do it at the end of the day when they reflect back on their days, you know, what am I grateful for today? Honestly, I don’t really care which way you do it. As long as you. Right. Yes. Again, be quiet because knowledge without application is just education.

[00:16:29] You can read the top 10 books on happiness and highlight them and underline them to death. And then what do we usually do with those books? We put them back on the bookshelf when we’re done, right. Never to be seen again. Okay. Well now I am more educated about happiness. I know a lot more, but my happiness level is not any higher.

[00:16:46] Why? Because I’m not doing anything. So it’s not enough to just read and educate yourself. It’s the application that matters 

[00:16:55] Zach White: this idea that gratitude is endless. I’m really struck by this and what I’m curious for your perspective on Dr. Ellias, why is it that so many people have a hard time finding those things in their life that, you know, you know, while you and I are talking, it’s like, okay.

[00:17:11] Yeah, sure. I’m, I’m grateful for my brain. That’s working for my lungs that are breathing, but you know, I’ve coached a lot of engineers and I’ll ask the question sometimes, you know what, what’s something you’re celebrating. What’s something you’re grateful for right now. And a lot of them. We come up blank.

[00:17:25] There’s nothing. Why, why is that? Why is there such a bias towards this area of gratitude being endless? We have a block to accessing that 

[00:17:35] Dr. Elia Gourgouris: because again, it’s a skillset. Engineers are very good at so many things. You know, you can name them one by one brilliant people. I work with a lot of engineered by the way, paid an organization, uh, and brilliant people.

[00:17:46] Um, sometimes however, your strength, if you overdo, it can become your life. If I always stay in my head because if comes from the heart, right. So we have, and I don’t remember who said this, but the greater, the longest journey in the world, you know, it’s not from here to the moon or from here to some distant star is from my head to my heart.

[00:18:09] So I’m in, they heart-centered person and the older I get, the more heart-centered I want to be more open, more sensitive. More vulnerable and more loving because I feel that that’s where my happiness lies. That doesn’t mean that I don’t know how many glazing my brain or that I don’t read and learn new things because that’s the other thing that contributes.

[00:18:28] I think that happiness is it continuous thirst for knowledge, um, Michelangelo, you know, he didn’t let her hurt the Vinci or the pillars of the Renaissance movement. Right. At the end of his life, he was, he was being interviewed and I’m like, oh, great master. Yeah. Tell us something that, you know, wives or whatever, you know what he answered.

[00:18:49] He said, I am still learning. Who said that Michelangelo, this is after David take halfway. He did all that stuff. Right? So to me, if Michelangelo at the end of his life is still learning. I mean, I hope I learned until I take my last breath, continue to. So I’m not neglecting the brains, what I’m saying, but I, but I come from the heart.

[00:19:09] I’m looking outside my window right here in my backyard. Beautiful green trees, beautiful sky. I’m looking at my green lawn. There’s are three things that I’m grateful right now. I’m just glancing over. That’s it? You know what I’m saying? Gratitude is every word, but we have to practice it. So it becomes so easy.

[00:19:26] Like it is like, I just did it for a year as an example. 

[00:19:30] Zach White: So you brought up a really good point around overusing a strength, becoming a liability and engineers are great at using our heads. And, you know, I’ve personally spoken with, you know, hundreds, maybe thousands, even of engineers, especially if you count social media and the interactions that happen online.

[00:19:46] And there is a huge percentage of them who are very unhappy. And I’m curious, you know, this connection between the engineer being in our heads. And the fact that happiness and gratitude and these things that we’re talking about today, come from the heart. It makes a lot of sense that there would be a gap there.

[00:20:06] So can you tell us more about like, what does it really mean to, to, to travel that distance from the head to the heart? Like, what is that journey like? What does it mean to be from the harder in your heart? That language has kind of coachy, it’s sort of hard. Here I’m in the engineering man. I was going to say, wrap my head around, you know?

[00:20:25] And it’s like, there’s such a bias toward that. Could you just tell us more about, 

[00:20:29] Dr. Elia Gourgouris: yeah, but why is the bias? Because why is there a bias? Because you know, we have been rewarded for our brains. You get good grades. I got four point, no, I got a degree in school. I want to, you know, master degree, PhD. And so, you know, there’s a lot of reward that comes, societaly speaking.

[00:20:45] Um, one of the greatest blessings of the appendix. Is w what’s I call basically, I felt like this giant finger from the sky came down upon humanity and press the pause button. And it just paused everybody dead on our tracks. What has happened as a result of that over the last 18 months, because my second book was about the pandemic and navigating challenges and crisis.

[00:21:09] And so on. Have you talked to, you know, I would probably say, even though my speaking engagement got canceled last year, obviously after the pandemic, I had the opportunity to speak to more people across the globe on this little camera zoom, probably between 40 and 50,000 people across the globe. Right.

[00:21:26] Wow. And what I’ve gathered from that is this, that people, all of a sudden began to recognize what’s really important. Not so much the achievements or the degrees or the raise or the position or the letters after my name, but really my connection with people that I love and care the most. And I think that’s a, that’s a wonderful thing.

[00:21:51] There’s, there’s actually a spiritual awakening happening across the globe. And I’m not talking about during the United States alone, India, Africa. South America is Europe where people want to live their lives a little bit more mindfully, and they want to live their lives, spending more time with people that they care about and they love and where yes, work is important and work provides food on the table and money equals freedom.

[00:22:19] I mean, it’s not, you know, But it’s, I feel like people are going to be a lot more balanced where work life integration becomes more important to them. Whereas before they were like just a workaholic providing, you know, achieving and so on. And then by being miserable, I don’t think we’re meant to endure to the end of this life miserably yet.

[00:22:41] You know, we crossed the finish line. I think this life is meant to be lived to the fullest and a big portion of that is our relationships that we have with ourselves and others and to serve others because obviously there’s another path to happiness. From your heart to be of service, to be kind, you know, all of these things matter and they matter more now than they ever have 

[00:23:04] Zach White: before.

[00:23:05] Yes. Yes. Dr. ULA, you used a really key phrase that has come up before in this podcast and with other guests that, you know, work life integration. And one thing that I’ve seen, unfortunately, for a lot of engineers who I coach is that. The pandemic created some awareness of those things that are most important, but it’s also created conditions where they’re working more than ever, and they feel more imbalanced than ever.

[00:23:31] And so can you talk a little bit about what you mean by work-life integration? Maybe? How is it similar or opposed to the classic phrase of work-life balance and just what we’re facing? 

[00:23:43] Dr. Elia Gourgouris: I just don’t think that phrase work-life balance is accurate. I don’t think, you know, cause balancing plays that it’s like.

[00:23:49] I don’t think we ever achieved that. So I feel like, you know, just having that word out there, people feel like a failure. Well, I’m never going to have work life balance. What I like about work-life integration is that it allows for some flexibility. Right. You know? Um, and yes, there are people that have worked from home that are because they don’t have the five o’clock it’s time for me to get in my car and drive home that they stay up and they work late into the night and actually are overworked, uh, right.

[00:24:13] The more enlightened companies who monitor, you know, the, uh, the computers say, I’m shutting your computer down. If I’m lucky. If I see an email from you identical, I can not, you’ll be troubled, spend time with your family stem, spend time, you know, on some self-care spend time, you know, those are the Enlite leaders, right.

[00:24:30] Um, and because I work a lot with senior leadership, a lot of, you know, HR directors and so on, you know, when people started working from home, And they’re like, well, I don’t know what they’re doing. And I, you know, I can know because I don’t see them, you know, but I feel like I need to check in with them. I said, yes, you need to be checking in with your folks on a weekly basis, if not more frequently, but don’t get on a zoom call and say, Zach, how are you doing?

[00:24:54] If you, if you ask them like that, they’re not going to act. They’re not going to tell you the truth. Close the door, tell them, lean into the camera. Say, Zach, how are you really doing and how your face. No, how’s your, you know, your loved ones and w is there anything I can do to help you or, or the company?

[00:25:10] What, What, what do you need from, and if you want to take some extra credit, uh, homework, go as a leader, go above and beyond. Even doing that lean closer to the camera and say, by the way, you know what? My kids haven’t gone to school for nine months there. It was driving me and my wife. Crazy. I’ve been depressed.

[00:25:29] I’ve been stressed out. I’ve been really anxious, so I can. When you have that kind of vulnerability as a leader, guess what happens now? You bond with your people because just asking how they’re doing and kind of cold like that, you’re not going to get any answer and people aren’t going to open up to you.

[00:25:45] So you have to walk the talk, be more open, be more vulnerable as a leader. And as a result, you create a more trusting relationship with your folks and your employees. And you’ll see miracles happen. As a matter of fact, they’ll work harder than they ever have before, because now they feel like you’ve got their back.

[00:26:02] Zach White: So for the engineer, listening on the podcast, you didn’t see Dr. Ellis body language during this group. Go catch it on, on the YouTube channel. If you want to revisit these couple of minutes, but really impactful what’s happening here. And I also know a lot of people are going to say. Hey, where are these enlightened companies that you’re talking about?

[00:26:22] Dr. LA? Like, it’s not like that for me at all. My is completely, you know, doesn’t care. I don’t feel like he or she has my back, you know, w we’re being challenged to work even longer hours. We’re being forced to work weekends. And like, maybe that experience you described as nothing like. The listener is experiencing, you know, if they’re in that situation where I’m trying to integrate Dr.

[00:26:42] Lee, but I don’t, it’s not working. Like I just feel stuck in this environment that isn’t allowing me to live the way I want and the, the, the lifestyle that fits for me. W what should someone be thinking about, or how do you, how do you act in that situation? What do you do? 

[00:26:59] Dr. Elia Gourgouris: And I just work with senior leaders.

[00:27:03] Even what you just talked about. Let’s say you’re asking your folks to work 14 hours a day because you have to shut down the manufacturing plant for two months, because you know, in your behind, if you’re asking them to work harder, because they’re from home, you have to be more transparent as a leader and tell them the why.

[00:27:22] And what is the why I love my employees. I don’t want to have to lay off 20% of my, you know, at the end of the day, Because I don’t want anyone, you know, I want us to stay together to go through this crisis together. So I’m asking you to work a little extra, because if this is the reason why, because I don’t want to lose anybody, I don’t want to have to make their stuff decisions.

[00:27:44] I want everyone to have a paycheck the following month. This is the reason why I’m doing that. That’d because I want to be greedy and have to, you know, make billions of dollars. So that’s not the reason why is because I want to keep us all together until we get through this crisis. And then we can go back to something, you know, that’s an enlightenment.

[00:27:59] Yeah, but he has to explain the why behind that. It’s not because we are, when they hit our numbers, why do we need to hit those numbers? Because I don’t want to have to let anyone go because I care about them and their families. Does that make sense? 

[00:28:16] Zach White: I love that. And what I’ll even take it one step further for the listener.

[00:28:19] If you’re not the leader and you’ve, you don’t know the one. Ask the question, I take that personal responsibility, Dr. Eylea. I’ve mentioned earlier to say if I’m being challenged to work and it’s not, it’s not fitting in my lifestyle or, uh, you know, the 12 and 14 hour days are creating a burnout in my life.

[00:28:39] You know, step out of your comfort zone and have that conversation with your leader and say, Hey, you know, I want to be a part of this team and contribute and create value here. But what’s, you’re asking of me is creating a big conflict in my personal life. What what’s happening here? Why, why is this what we need to be doing and understand?

[00:28:56] You’ll get that understanding with Dr. Lee a hundred percent. It’s important for the leadership to be asking for the 

[00:29:03] Dr. Elia Gourgouris: things that are actually know. I call those conversations. And, uh, and that’s what I teach when I, when I do my seminars and my retreats. I, it is hard communication, which is honest, open, transparent, honest, meaning that if you come from the place again, it’s like, I don’t, I think most people will say, you know what?

[00:29:23] This is causing me a lot of stress in my home and, uh, it’s not sustainable. Um, do you know what the number one challenge right now facing organizations is to ensure the mental and physical wellbeing of their employees. That’s number one. In the, in the old days that wouldn’t even have made the top 10, you know, and this is according to HR, uh, organizations, the number one job is to ensure their mental and physical wellbeing of their employees.

[00:29:49] And the second challenge of course, is maintaining employee engagement, productivity, and effectiveness, and so on. Well, guess what, you’re not going to get number two, right? Until you get number one. Right. And I feel like companies have done a fairly decent job in ensuring the physical wellbeing of their people.

[00:30:06] You know, the masters of social distancing, wash your hands, not as many people in the room and so on. I think they’ve done really well, so they could give their businesses open what they haven’t done. Well, how do I work to ensure the mental and emotional wellbeing of their employees? And that’s where they bring me in.

[00:30:21] I mean, that’s what I do. Right. I addressed that part. Here’s how you take care of your employees emotionally and mentally

[00:30:29] Zach White: Dr. Area, the idea of mental health. Is for a lot of engineers that I work with. Some stuff that we really don’t spend a lot of time on. Like, what does it mean to take care of my mental health? Could you just at a high level, if you were stepping in and, you know, coaching an engineer to understand what is mental health really?

[00:30:51] How would you. 

[00:30:52] Dr. Elia Gourgouris: Yes. And you know, and I’ll share something with you that you can, uh, a PDF, which is for my second book, I created a personal health assessment, 20 questions that looks at your physical, emotional, mental, and spiritual will be, and it really takes like two minutes to take, but it gives you a plethora of information.

[00:31:12] By the way, I take this personal health assessment and myself on the first day of it. Myself. It’s almost like a checkup. You know, you go, you grab your pulse. You’re like, how many are you doing? You know? And there’s 20 questions. Your answer are from a scale of one through five, five, I’m doing excellent.

[00:31:29] Four very good 300 sometimes, you know, two rarely you know, one, nothing never. Now, if you score yourself, fours and fives, pat yourself on the back is immune I’m. I’m doing. If you score a three in any of those questions, by the way, threes are normal. Three threes means I’m doing it sometimes, but there’s room for improvement.

[00:31:49] Okay. But if I score a one or two in any more, those questions, those are red flags, because those are definitely detrimental to your health, into your happiness. So those are what takes seriously. It, and that’s kind of how I do it. I just don’t want to have any ones in tooth. If I have three, that’s fine.

[00:32:08] And fives are almost like perfection there. If few, if I can beat between threes and fours, I’m doing really well. And I can share that with you. And you can put, I’ve shared that with tens of thousands of people across the globe. So use it, share it with your, uh, with your audience and have them take it. It takes two minutes, but it gives you a snapshot.

[00:32:28] You know, maybe, maybe physically I’m taking care of myself better, but mentally and emotionally, I’m not. Or maybe not. I’m pretty sharp mentally. And I’m thinking here, but I’ve read like the physical, you know, you know, I’m not sleeping enough. I’m not getting enough exercise. My diet is not good, whatever. He just gives you an idea of where you’re at.

[00:32:44] That’s all, it’s your own personal stuff. Assessment is not a test. It’s not like you pass or fail. You don’t have to share it with anybody. It’s just information for you. 

[00:32:52] Zach White: Yeah, thank you so much for this offer and for the listener, we’ll definitely put a link to this PDF in our show notes and make that available to you.

[00:32:58] And what I also love Dr. Lee, is that you said, even for yourself, the creator of this list, you’re checking in every month, every month. And, and this is an area, you know, as, as systematic and process oriented as engineers are, it’s something I see over and over again, that the recognition that wow. Set of questions.

[00:33:19] One check-in one session with us. Is not the end game. It’s about this rhythm of, of self assessment and constant improvement, which we do all day at work in our jobs. We get paid to come up with these consistent never-ending improvement projects and always making things better in engineering. And then we don’t take that same mindset into our life.

[00:33:41] And I, I really love that just to say, Hey, whatever it is, if it’s Dr. Ellias 20 questions, if it’s something else that you have a rhythm of constantly looking at. Your work-life integration, your happiness, your mental health, and consistently checking up and then taking action based on what. 

[00:33:59] Dr. Elia Gourgouris: Yeah. And it basically you’re, you’re, you’re tweaking stuff.

[00:34:02] I mean, it’s not like you’re, I’m not saying that major personality overhaul. I’m not saying all 20 areas of my life. I have to do no big one, maybe two for this month. It’s okay. I’m going to focus a little bit more consciously and mindfully in this year because I don’t want them to be one or two that way got to move to at least sometimes I will doing those, if not more often.

[00:34:21] Right. This is great. If you think about it, these are, you know, we’re talking about micro habits. So if I. If I do something differently today and I’m consistent over the course of the next 365 days, I’m going to be in a completely different place. And that’s just changing one thing. And I can give you a practical, real example for myself prior to the pandemic.

[00:34:45] I used to walk three days a week before an hour, three miles and so on because I got gray hair and I need movement you know, it’s a lot I have to do well as my own stress levels. You know, and I’d taken my family, extended family, clients, friends, and so on. I realized that’s not enough. So since last April, we’re talking about it, you know, 14 months ago I started to walk every single day, seven days a week.

[00:35:09] No matter what it was what’s happened is in one from Sunday, I have to do to stand that I wanted to do, because I’ve seen the benefits. I feel like I’m healthier now, physically than I was 15 years. And I’ve done it. Come rain or shine, no matter what, I walked every single day for three miles a day. And, but, and I don’t always take my phone with me either.

[00:35:29] That was the second thing that I’m working on. Ideally, I want to walk every day without my phone. I’m at 50% right now, which is really hard for me because I’m addicted to my phone, but at least every other day, I don’t take my phone. And I walk in, I look at nature. I partake of the sunshine, the vitamins from the rays of the sun, the beautiful blue sky.

[00:35:48] The trees, the animals, you know, the chirping that the birds are bringing in that feeds my soul, feeds my mind in my heart. And of course my buddy, I, I moved. So I’m healthier now than I have been. That was one habit that I changed 14 months ago. And you know what, now that the pandemic seems to be underway out a little bit, we’re doing a lot better.

[00:36:07] Everything has opened up at us where I live here. I’m not planning on changing that. I’m not going back to three times a week. I’m going to continue to do this because I have seen, it’s been. What’s the difference. 

[00:36:18] Zach White: Consistency. Yeah. This is really a word of encouragement for the engineer listening. You don’t have to completely change your life tomorrow to be happier.

[00:36:29] You need to identify these micro habits and the practices and skills of happy. And just be consistent to make those little changes every day. Is there any micro habit of happiness? We talked about gratitude earlier, walking. Now, if there was a third doctor that you would say, Hey, if you’re looking for a place to start, here’s a micro habit.

[00:36:49] That’s really impactful. 

[00:36:52] Dr. Elia Gourgouris: Yeah. The F the physical ones are easier to identify, but I would also say, you know, I, I’m going to go back to, to the forgiveness. Because, you know, in, in my experience that I think most, most people wake up every morning and before they get out of bed and brush their teeth and put makeup on and get in the car and drive to work or whatever they put on a backpack that weighs about a hundred pounds.

[00:37:17] And this backpack gets full of, for little pebbles to rocks, to big boulders, basically in which are symbolic of resentments, anger. Disappointments lack of forgiveness and so on. And that’s how they work throughout the day. Burdened by their past. The goal in life is to wake up every morning. There’s no backpack because it’s a clean slate.

[00:37:42] It’s a new start, right? And I can go live my left, just a date. I can’t do anything about it yesterday or last month or anything like that. And this is something that comes easy to me. I’m Greek. So Greeks don’t feel too much guilt. We’re like, ah, eat, drink, and be married. So like, forget about it, you know?

[00:37:58] So that’s sort of cultural do, but it’s also a part of my personality too. The choices I make today will determine my tomorrow. My past has nothing to do with it. Right. So being the president choose wisely, I have a positive attitude. Uh, help other people, because I think that’s the big part of, uh, happiness just to extend ourselves to others, um, and get our side of ourselves in some ways.

[00:38:21] Right. And practice gratitude and forgiveness practice. Self-care in those four areas that I talked about and, you know, I’ll share the PDF with you guys. They’re easy, but again, what are you doing about it? 

[00:38:34] Zach White: This picture of the backpack is really powerful. I just, I want the listener. Go ahead and put that in your mind’s eye and recognize that even today, right now, listening to this conversation.

[00:38:48] Odds are really, really good that you’re carrying a heavy burden. And how 

[00:38:52] Dr. Elia Gourgouris: big is your backpack? Right. 

[00:38:55] Zach White: Wow. I could tell you how I’ve, I’ve felt it. There’s days where I choose to bring all of that garbage from the past with me, and there’s days where I choose to leave the past in the past, and it’s a significant difference.

[00:39:08] And so as far as these micro habits to wake up and make that decision that I’m going to live today, Without bringing that backpack along and just go and enjoy the precedent and create my future. That’s a huge, huge takeaway. I love that. I love that picture. Dr. Lee, I want to go a thousand more directions, but I want to be respectful of your time and we’re we want to land the plane here.

[00:39:33] And I mentioned earlier, and I say this for all our guests, you know, great engineering. It’s like great coaching in that questions. And answers follow, and the quality of our questions matters. So for the engineer, listening to this conversation who wants to be happy, what is the best question that you would lead them with?

[00:39:54] Dr. Elia Gourgouris: Sure. You know, remember what we talked about earlier on that knowledge without application is just education. So in life. It doesn’t matter what we know, what matters is, what do we do with what we know? So of course the question that follows that is what will you do differently as a result of listening to this, uh, uh, wonderful conversation that I’ve had with Zach, what will you do differently?

[00:40:17] And the last statement was not a question is if this is my biggest download from the last 18 months, is this do not procrastinate your habit. Meaning don’t wait for when I get a raise or when I retire or when the kids leave the house or when we go on vacation or when I do, I mean the right relationship or when forget all the wins, there are no guarantees about anybody that we’re going to be here next month.

[00:40:43] So live your best life. Now, live your happiest life now. And remember that it is a skill. Yes, it’s a choice, but it’s also a skillset. 

[00:40:52] Zach White: That’s amazing. That’s amazing. What will you do differently? As a result of this conversation as a result. Well, what happened to you this morning as a result of what you learned yesterday?

[00:41:04] What will you do differently? I love that and don’t procrastinate your happiness engineers. Let’s take action. Now, go practice the skillset and make the choice. Dr. Really. Thanks a ton for being here. I know that people are going. To hear more from you and get connected with you. So can you share with us, what’s the best way to get more, uh, from the happiness doctor in our lives?

[00:41:25] Dr. Elia Gourgouris: Yeah. Uh, please connect with me on LinkedIn and share that, you know, we, uh, we met in, uh, on Zack’s podcast, uh, Elia Gourgouris the happiness Dr. LinkedIn that’s one place. And the other one, if you want to know what I do in my programs, and my coaching is go to Dr. Elliot dot com and that’s my website, and you can find whatever you need over there.

[00:41:43] And my contact. 

[00:41:46] Zach White: Awesome. I can’t say it. You know about just how great Dr. Ellias content and his as a person and a leader in the space are the first time we ever talked, it was just supposed to be a quick five minute introduction. And Dr. Leila just, you know, wisdom, bomb after wisdom, bomb around life and, and this idea of how to create something amazing that leads to our happiness and fulfillment.

[00:42:06] So, uh, again, for engineers listening, go, go look the sky up by the book. And, and just start taking action and making that choice. Doctor, thank you again so much for your time today. It’s brilliant. It’s been a pleasure. 

[00:42:17] Dr. Elia Gourgouris: They give Jack it’s really been a pleasure with me too. You have a delightful countenance and a brilliant mind.

[00:42:23] And, uh, you know, I do so many podcasts as you know, on a, on a weekly basis. It’s always the intern. Do you, uh, or the questions you ask and how, how it flows that makes my life, uh, enjoyable. So I love being on your show. 

[00:42:38] Zach White: Oh, you’re welcome. Let’s do it again sometime. 

[00:42:40] Dr. Elia Gourgouris: You got it. 

 

Back to ALL EPISODES

The post The Conversation You’re Avoiding | Lasting Happiness with Dr. Elia Gourgouris appeared first on OACO.

Read the whole story
alvinashcraft
just a second ago
reply
Pennsylvania, USA
Share this story
Delete

Vite Version 8: Unified Rust-Based Bundler and Up to 30x Faster Builds

1 Share

Vite 8.0 introduces a significant architectural change, migrating from a dual-bundler setup to a single Rust-based bundler called Rolldown. This update enhances build speeds, reporting reductions from 46 seconds to 6 seconds in some projects. The release includes developer experience improvements and maintains compatibility with the existing plugin ecosystem.

By Daniel Curtis
Read the whole story
alvinashcraft
52 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Deploying and scaling the GitHub Copilot SDK (continued)

1 Share

In the previous post I set the stage on deploying to production. We covered managing the CLI process, different isolation patterns and how to scale horizontally.

This post covers 2 other aspects important when putting your GitHub Copilot SDK enabled application into production; how to tackle authentication and how to get insights into what is going inside your agentic system.

Authentication in production

Development uses your personal GitHub credentials via gh auth login. Production backends need a different approach.

Service account token (shared CLI): Set COPILOT_GITHUB_TOKEN as an environment variable on the CLI process. All sessions on that CLI use the same token. Simple, but every user is acting as the service account.

export COPILOT_GITHUB_TOKEN="gho_service_account_token"
copilot --headless --port 4321

Per-user tokens (GitHub OAuth): For multi-tenant applications where users authenticate with their own GitHub identities, pass each user's token when creating their session. This requires implementing the GitHub OAuth flow in your application and is covered in depth in the GitHub OAuth with Copilot SDK docs.

BYOK: If you'd rather not tie deployment to GitHub auth at all, configure the SDK to use your own API keys from OpenAI, Azure AI Foundry, or Anthropic. This sidesteps the Copilot subscription requirement and premium request quota entirely — useful for automated pipelines where per-request billing against a known provider is preferable.

var client = new CopilotClient(new CopilotClientOptions
{
    Byok = new ByokConfig
    {
        Provider = "azure",
        ApiKey = Environment.GetEnvironmentVariable("AZURE_API_KEY")!,
        BaseUrl = Environment.GetEnvironmentVariable("AZURE_ENDPOINT")!
    }
});

Note: BYOK uses key-based authentication only. Microsoft Entra ID (Azure AD), managed identities, and third-party identity providers are not supported (at the moment of writing this post).

Observability

Agents are harder to observe than traditional services because the interesting work happens inside the execution loop. Build instrumentation in from the start.

Session-Level metrics

Use the onSessionStart and onSessionEnd hooks to capture duration and end reason for every session:

var sessionStartTimes = new ConcurrentDictionary<string, long>();

var session = await client.CreateSessionAsync(new SessionConfig
{
    Model = "gpt-4.1",
    Hooks = new SessionHooks
    {
        OnSessionStart = async (input, invocation) =>
        {
            sessionStartTimes[invocation.SessionId] = input.Timestamp;
            _metrics.SessionStarted(invocation.SessionId, input.Source);
            return null;
        },
        OnSessionEnd = async (input, invocation) =>
        {
            if (sessionStartTimes.TryRemove(invocation.SessionId, out var startTime))
            {
                var duration = input.Timestamp - startTime;
                _metrics.SessionEnded(invocation.SessionId, duration, input.Reason);
            }
            return null;
        }
    }
});

Tool call tracing

Instrument tool execution events to understand what actions the agent is taking in production — and catch unexpected tool usage early:

session.On(evt =>
{
switch(evt)
{
case ToolExecutionStartEvent toolStart:         _logger.LogInformation(         "Tool {Tool} invoked in session {Session}",         toolStart.Data.ToolName, sessionId));
          break;         case ToolExecutionCompletedEvent toolCompleted:         _logger.LogInformation( "Tool {Tool} completed in {Duration}ms", toolCompleted.Data.ToolName, toolCompleted.Data.DurationMs));
    break;
}
});

Context compaction

Context compaction is automatic and mostly invisible, but it's worth logging when it happens. Frequent compaction on short conversations can indicate that your system prompt or injected context is consuming more of the context window than you intend./p>

Built-in OpenTelemetry support

The event-based instrumentation above is useful for quick feedback and custom metrics, but for production observability you want proper distributed traces — spans that link the CLI's internal execution to your application code, visible in Jaeger, Grafana, Azure Monitor, Datadog, or any OTLP-compatible backend.

The SDK ships with this built-in. OpenTelemetry support is a first-class feature of the Copilot SDK, not an afterthought: it provides built-in distributed tracing with W3C trace context propagation across all SDKs.

Opting in: one line of config

Enabling OTel tracing requires a single addition to your CopilotClientOptions:

var client = new CopilotClient(new CopilotClientOptions
{
    Telemetry = new TelemetryConfig
    {
        OtlpEndpoint = "http://localhost:4318"
    }
});

That's it. The SDK configures OpenTelemetry on the CLI process and begins exporting spans to your OTLP endpoint. No additional packages required beyond what the SDK already brings in.

Protocol note: The CLI runtime only supports OTLP over HTTP (otlp-http). If your collector is configured for gRPC, the CLI will still use HTTP. Backends that serve both protocols on the same port — like the .NET Aspire Dashboard — work transparently.

What gets traced

Once enabled, every agent interaction produces a hierarchical span tree that captures the full execution flow:

invoke_agent [~15s]
├── chat gpt-4.1 [~3s]          ← LLM requests tool calls
├── execute_tool readFile [~50ms]
├── execute_tool runCommand [~2s]
├── chat gpt-4.1 [~4s]          ← LLM generates final response
└── (span ends)

Each span captures metadata following the OpenTelemetry GenAI Semantic Conventions — model names, token counts, durations — so the data works with any OTel-compatible backend. By default, no prompt content, responses, or tool arguments are captured: only metadata. If you need full content for debugging, set the COPILOT_OTEL_CAPTURE_CONTENT=true environment variable on the CLI process.

Seeing traces locally: The Aspire dashboard

For local development, the .NET Aspire Dashboard gives you a full trace viewer with a built-in OTLP endpoint — no cloud account needed, no Jaeger to configure:

docker run --rm -d \
  -p 18888:18888 \
  -p 4317:18889 \
  --name aspire-dashboard \
  mcr.microsoft.com/dotnet/aspire-dashboard:latest

The dashboard UI is on port 18888. Point your OtlpEndpoint at http://localhost:4318 (the SDK uses HTTP) and open http://localhost:18888 to see traces appear in real time as you send prompts.

Sending to production backends

For production, route traces through an OTel Collector and on to whichever backend you use. A minimal otel-collector-config.yaml that accepts OTLP and exports to multiple destinations:

receivers:
  otlp:
    protocols:
      http:
        endpoint: 0.0.0.0:4318

exporters:
  azuremonitor:
    connection_string: "${APPLICATIONINSIGHTS_CONNECTION_STRING}"
  otlp/grafana:
    endpoint: "${GRAFANA_OTLP_ENDPOINT}"
    headers:
      authorization: "Basic ${GRAFANA_AUTH}"

service:
  pipelines:
    traces:
      receivers: [otlp]
      exporters: [azuremonitor, otlp/grafana]

 

Deployment checklist

Let me summarize the current and previous post with a handy pre-deployment checklist:

Architecture

  • Using headless CLI mode rather than the default auto-managed subprocess?
  • CLI running as a persistent service (systemd, container, or Kubernetes pod)?
  • CLI_URL coming from environment configuration, not hardcoded?

Session state

  • Running multiple CLI replicas? If so, is session state on shared (ReadWriteMany) storage?
  • Session IDs structured to encode ownership for auditability?
  • Concurrency limit enforced to prevent memory exhaustion?

Authentication

  • Service account token stored as an environment secret, not in source?
  • If using per-user auth, GitHub OAuth flow implemented and tested?
  • If using BYOK, provider credentials rotated on a schedule?

Observability

  • Session start/end metrics captured?
  • Tool execution events logged?
  • Session errors surfaced to your alerting system?
  • Context compaction events monitored?

Resilience

  • CLI process managed by a supervisor (systemd, Kubernetes) that restarts on failure?
  • Application handling SessionErrorEvent gracefully?
  • 30-minute idle timeout accounted for in long-running workflows?

What's next

Your application is now deployable, scalable, and observable. In the next post in the series, we cover MCP integration — connecting your agent to external context and services via the Model Context Protocol, so your agent can reach databases, APIs, and cloud services without you having to build the glue.

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

Just shows that nobody cares about debugging the parity flag any more

1 Share

The x86-64 architecture inherited the parity flag (PF) from the x86-32, which in turn inherited it from the 8080, which inherited it from the 8008, which implemented it because it was the processor for the Datapoint 2200 serial terminal.

The parity flag also has a secondary purpose of being a place for the FXAM (x87) and UCOMISD (SSE) instructions to record the results of floating point comparisons. You can still entice compilers into checking the parity flag by checking a value for NaN or performing a floating point equality or inequality comparison (because NaN always fails equality and inequality comparison).

It turns out that the Windows debugging engine for x86-64 had a bug where it reported the parity flag as the opposite of what it actually is. When the parity flag was set, it said “po” instead of “pe”, and vice versa.

The fact that this went unreported for over two decades tells you that nobody cares about debugging the parity flag.

A fix has gone in. We’ll see if it makes it out before this article gets posted.

The post Just shows that nobody cares about debugging the parity flag any more appeared first on The Old New Thing.

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

Event Sourcing: trade-offs of Event versioning and migrating approaches

1 Share

Event‑sourced systems must evolve, and sooner or later, events need to change. In the sixth part of my series on event sourcing, we are looking at versioning of events (schemas) and whether migrating or keeping all old versions is the way to go. Of course, there are trade-offs involved regarding long-term maintainability and overall simplicity.

Why is versioning even needed?

Events state immutable facts – so goes the theory. But what they need to tell us may change.

Sometimes we need to add more data to an event. Data we didn’t know we’d need back then, when we designed the event. That data was already there in the real world, but we didn’t catch it because it wasn’t necessary for our application.

Sometimes, we find a better way to model our events. We still store the same data, but with differently modelled events. Maybe the code gets simpler, or we can support new use cases this way.

Approaches for versioning events

There are at least four ways to version events:

  1. Introduce a new event (with a new name/type) and keep the old one(s)
  2. Introduce a new version of an existing event, keep the old version, and handle multiple versions when projecting events.
    • Projection logic per version
    • Ad-hoc migration
  3. Introduce a new version of an existing event and migrate all previous events to it.
  4. A combination of 2 and 3: temporarily support two versions, and no downtime migration in production.

There are likely more, but these are the ones we used, and I have experience with.

1. Introduce a new event

A simple approach to adding additional data to an event is to introduce a new event type that includes the new data and treat it as its own dedicated event.

The downsides are that you may end up with duplicate projection logic and that it becomes harder to comprehend the more “versions” of an event there are. Our code should probably always use the latest “version” of the event, but that get cumbersome when there are many to choose from.

2. Introduce a new version

Instead of creating a new type variant of the same event, we keep a single event type, but we add a version number to it so that when we read events, we know which version it is and can handle it differently.

We either keep the projection logic per version, so we have code for every version, or we perform an ad hoc migration of the event to the latest version and project that.

Choosing between these two sub-options depends on how easy it is to do the ad hoc migration. Generally, I’d prefer the ad hoc migration because it probably reduces code duplication.

3. migrate all previous events

With this approach, we don’t introduce versions of events. We migrate the affected existing event streams by replacing old events with new events.

This approach yields the cleanest code because we don’t care about different versions. There is a single way to project an event, and no ad-hoc migrations are in place. Simple and fast.

However, migrating event streams can quickly become a time-consuming task. You probably need maintenance windows to perform the migration, and releases are restricted to them. So the release management can be tricky.

4. No downtime migrations

Approach 4 – no downtime migrations – is a combination of approaches 2 and 3. We temporarily support two versions of an event.

  1. We introduce a new version of an event; we write only events in the new version, but we can still read the old version. We release the software.
  2. We run a migration that migrates events from the old to the new version. Best done in batches to keep the production system responsive.
  3. Once all old events are migrated, we can remove the code for the old version and release the cleaned-up software.

The advantage of this approach is that we can keep the code simple by maintaining a single version of each event (outside of the migration phase), with no downtime during migration.

The downside is that it needs a multi-step release process.

Summary

When we work on an event-sourced system, events will have to change as new learnings emerge. So either we deal with multiple versions of events, or we migrate them – or we use a combination.

That’s it for today – unless you are in for a deep dive…

Deep dive

The deep dive shows the details of our code. I don’t expect you to understand everything, but it gives you some insights into our real production code. I hope you like it.

Let me replay the actions taken on an event migration I did lately.

In earlier posts, we used expenses as a sample, and I’ll continue to do so here. I’ll take you through an update of an expense settings event. Expense settings define what kind of expenses can be entered.

An expense settings event looks like this:

With Data specifying the details of an event:

The change we have to make is inside the ExpensePositionAdded case:

We need to change the ExpensePosition from

to

by adding the last two fields.

So we need to change the code responsible for persisting expense settings events:

The ExpenseSettingsEventRow matches the SQL server table. As you can see, there is a Version field on it. The only thing that typically changes is the data in the Data field. So the version describes the Data content.

We typically use approach 4 (zero-downtime migrations) when bumping an event version.

To be able to read the old version, we introduce a copy of the old version of the data:

And we need to specify the function used to deserialise this version of data:

We implemented a MigrationConverter that takes the old ExpensePosition as an input and returns the new one. We initialise the two new fields with false, so the system acts the same for old data as before. That means we use ad hoc migrations for old events. Note that we only need to provide a migration converter for the changed type, not for the entire object graph (the entire JSON or all the types in the JSON – I don’t know how to call it) read from storage.

The serialise and deserialise functions for the current version stay untouched and look still like this:

When we want to store an event, we need to map it to the ExpenseSettingsEventRow type. We use the latest version there:

When we read data from the storage, we map the row back to our event type:

Now, depending on the version, we use the corresponding deserialisation function. And now, we can read old and new events.

After this code is released, we can migrate the events from the old to the new version with a console application running on my computer.

The program defines a generic migration function that reads event data batched from the old version from storage, deserialises it, serialises it into the new version, and updates storage.

We can define the connection string, the batch size, and what events we want to migrate (schema, table, old, and new version:

Then we can run this program, and after a while, all events are on the new version. We use batches because we don’t want to lock the table for too long. This way, the productive system stays responsive for our users.

Finally, we can remove the old version from the code and release the cleaned-up code.

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

Forget electrons, this breakthrough uses light-matter particles to power AI

1 Share
Researchers at Penn have created a hybrid light-matter particle that could dramatically speed up AI computing while using far less energy. The breakthrough may help replace some electronic computing processes with ultra-efficient light-based technology.
Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories