Environment Variables
How do we Teach Green Software?
July 25, 2022
The future of Green Software lies in education. In this episode host Chris Adams is joined by Luis Cruz of TU Delft and Sara Bergman of Microsoft as they discuss how to teach and learn to make Green Software. With Luis’ unique insight as a professor, he is able to bring us up to date with pedagogical approaches that are laying the groundwork for future software engineers.
👉 State of Green Software Survey - click this link to access! 👈

The future of Green Software lies in education. In this episode host Chris Adams is joined by Luis Cruz of TU Delft and Sara Bergman of Microsoft as they discuss how to teach and learn to make Green Software. With Luis’ unique insight as a professor, he is able to bring us up to date with pedagogical approaches that are laying the groundwork for future software engineers.

Learn more about our guests:

Episode resources:

People to follow doing relevant work in this field:

If you enjoyed this episode then please either:

Transcript Below:
Luis Cruz: If you want to change the generation of software engineers, you need to change the mindset of their leaders and you need to start earlier. And the obvious answer for that is to include green software as part of our university courses.

Chris Adams: Hello, and welcome to Environment Variables brought to you by the Green Software Foundation. In each episode, we discussed the latest news and events surrounding green software. On our show, you can expect candid conversations with top experts in their field who have a passion for how to reduce the greenhouse gas emissions of software. I'm your host, Chris Adams. Welcome to Environment Variables. 

My name's Chris Adams. And on this episode, I am joined by Sara Bergman of Microsoft and Luis Cruz of TU Delft. That's technical university of Delft. We'll be talking about how people teach and learn to make green software. Before we dive in though, maybe it's time for a quick round of introductions.

My name is Chris Adams. I am the chair of the Green Software Foundation policy group, and I'm also the executive director of the Green Web Foundation, where we work towards an entirely fossil for internet by 2030, Luis. Would you be so kind as to introduce yourself, then we'll give Sara a chance to explain, introduce herself and see what she, and what she does.

Luis Cruz: Sure thing. Hello everyone. My name is Luis Cruz, and I'm an assistant professor at the software engineering group at TU Delft. And there we do research and educate the next generation of software developers. and our main topics, we've overrun, software testing, software deducting, and of course also about green software, how to build energy efficient software.

So most of my time is devoted on doing research on green software, green AI, sustainable software engineering, and of course also about educating and finally about managing because when we have a lot of people, we also have to manage. People and students are also part of these managing and management load that we have at the universities, like to you, Chris.

Chris Adams: Luis. And, uh, Sara, one of our recurring hosts. Why don't you introduce yourself for some of the folks who may not have heard the previous episodes?

Sara Bergman: Great. Thanks. Always great to be back on the podcast. My name is Sara Bergman. I am a software engineer at Microsoft where I work in M 365 or with M 365 products. And in the Green Software Foundation, I'm the chair of the writer's project, where we deal with some of our written materials, like the articles we produce and the newsletter that you're all hopefully subscribed to.

Chris Adams: Okay, thank you, Sara. And just for the record, while you brought that up, if someone did want to subscribe to the newsletter and find out about this through regular and. Updates, where would they be going to find out such a thing?

Sara Bergman: you go to our website, Green Software Foundation and it should be like right in your face.

Chris Adams: Okay. Awesome. I think even I could follow that, actually. Okay. So today we're talking about basically teaching, teaching green software, because if we're gonna be. Helping people figure out how to make more planet friendly applications. Then it probably helps to know what's going on in the world of teaching software and see where, where people are learning this stuff.

And this is partly why Luis is kind of, I'm glad to have you on for this because we actually met through things like the climate action.tech slack group. But one thing that was, I found really exciting from some of the work you did was the fact that you were working on. Entirely open syllabus for sustainable software engineering and obviously lots of us like open source, an open, an open culture, but I figured it might be worth just maybe you telling us a little bit about why the core, why you made the course and why you chose to make it open.

Luis Cruz: Yeah, that's a very good question, Chris. And that's a, maybe let me get back a little bit and tell you. How did all this started? Yeah, so it started by the fact that I was doing research in green software way before teaching sustainable software engineering and the always the main motivation point was the fact that.

Software engineers are eager to build more energy efficient software, but they often lack the resources or they often don't know exactly how to do it, but they, they are highly motivated to do it. So they keep asking about what are the best practices, how can we test energy efficiency, these sort of things.

So, so that was my main motivation to start this line of research, but then of course, I started realizing, okay. I should not only be doing research in my. Office, right. I should also try to communicate these back to developers. And that was when I realized that, in fact, it's not only about building or creating writing papers, but also about communicate them back to the community when, and when you Google about it, or when you look at the Web for resources about this, you almost don't see anything about it.

And then if you look at the conversations that we have. Climate action. How to change our software industry into a more sustainable industry. It always revolve around new policies, right? How to make sure that the industry is complying. with sustainable practices, how to make sure that we can ask our suppliers for energy efficient certificates, these sort of things.

But sometimes we forget that if you want to change our society. The strongest weapon we have is education. Right? If you want to change the generation of software engineers of the software industry, you need to change the mindset of their leaders and you need to start earlier and. To me, the obvious answer for that is to include green software as part of our university courses, because that's how you change the mindset of the future leaders in the next generation of software engineering.

But again, when I started, when I realized this, I started looking for content at, in my university, okay. Who is teaching these kind of topics. And I realized. , there was a lot of content around sustainability at UD Delft, but they kind of miss the, the fact that software also has an impact on sustainability.

So if you build a software system, this software system will probably have a carbon impact. And somehow I feel that the other fields kind of miss this point because they tend to. Target sustainable problems by creating a new AI model, creating a new software system that will automate something and help them improve the sustainability of their problems.

And they kind of forget that if you run something in a server, that server will probably be spending energy. So going back to the, to these pursuit of sustainability topics at the university, I realized that the computer science courses had nothing to do about. . And the funny thing is that if you think about green software, you will see that it, it, it covers, or it touches upon different topics of computer science testing, but programming languages, even in software engineering, the way you, the software development life cycle.

If you look at all the stages, every single stage. Should have a perspective on sustainability if you really want to make sustainable software. So in a way, the fact that none of these courses in computer science had a single chapter that would cover energy efficiency or sustainability was somehow a trigger for me and more motivation for me to think, okay, we really need to start creating.

Content. And at the Delft, they were very open. When I started pitching about a new course idea, they thought, okay, this is really something that aligns with our values. So they gave me all the freedom to start designing the course and creating the course. and I'm really happy that this first edition we had around 20, 20 something students that were really enthusiastic about the topic and they knew nothing about it.

Because as I said, there was nothing around this and there were already. Fourth year master students. So after four years of education, they, they were not exposed to this to me, the fact that it was so challenging to find content, to help me design the course. I think it was clear to me that I would, if I wanted to change our community, I would have to deliver this content and everyone can use it and reuse it and learn from it because that's the way that we can make.

A second addition of this course, or someone else can make an improved addition of a sustainable software engineering course. And that's the main goal. So this, this is not about getting a recognition. This is about changing society. And, and I think the best thing we can do to change society is to make this content open.

Chris Adams: Cool. So I have a couple of questions, but before I come in on that, I just want to see Sarah. Is there anything that you want to kind of come in on there before I come in with my questions on this?

Sara Bergman: This is where I wish the podcast was like a video recording. Cause you would've seen me nodding vigorously throughout entire thing. Yeah. There's so much of this that resonates very deeply with me. And, and I was lucky enough to be one like not, not one of your students, but when I was a student a few years ago in, in Sweden, we did have a course called green.

It led by an amazing professor called Simin who basically. she like her, the whole course was based on reading research papers. So it's like she has been a researcher in this field for a long time about energy efficiency. And she was basically like, don't just take my word for it. Take all of these other researchers word for it.

And it really opened my eyes a lot. And I know it changed other people's mindset to took the course. And that was the one course that made me wanna pursue this more. It's such a powerful tool and yeah, just a big plus one, I guess.

Chris Adams: Cool. Right. Well, Louis, when students are actually taking this course, were there some parts of introducing a sustainability element that seem to work particularly easily? Or were there some parts that they particularly struggled with? Because what I've learned is that some things can be a little bit counterintuitive and yeah, I'm really curious, cuz I've never heard from someone who's actually teaching, you know, undergrads home or even postgraduates for them to kind of pick up some of these skills that are obviously gonna be in demand in the future.

Luis Cruz: Yeah, that is a very, very good question. So one important part of the course is about measuring energy. Option of a software application. Yeah. And I don't want to be boring or anything, but of course, when you have to measure, you need a metric, right. You need to measure a particular metric and this metric needs to be, uh, Clear enough for the person that is analyzing the data.

Yeah. So to make it more precise, when you are measuring energy efficiency, probably you're gonna look into energy consumption, but you also have more metrics. You also have the power consumption, right? And, and power can be the average power over the execution of a particular software, but can also be the instant power that is being.

Uh, used by the, by the CPUs, by the memory, by the whole laptop system. So this is the most issue. So what should I be analyzing energy or power. And depending on the use case, you should be looking at one or another, but then of course you need to make sense out of it. So if your software is wasting 20 jewels after two minutes, I mean, what does it mean?

Is it energy efficient or is it like energy inefficient? Should I do something about it? Should I just assume that it's fine. And this kind of thing requires quite some discussion most of the time, because every single problem is different. Every, every software, every program language will have different thresholds and I won't have a clear answer.

Like I, I always don't have all the answers for every single. Result we get, but one of the cool things about having this course is that then we use that as an opportunity for discussion during the class. And this works quite well. When you have around 20, 30 people in the same room. Because if it's more than that, it's a bit difficult.

Sometimes it happens to have really large classes, but when you have a small group, they will come up with the most interesting observations about this. So that's really exciting when you bring people together just to critically analyze these, these, these bullet. And another thing that I'd like to bring up here is that, so my main passion goes around energy efficiency.

So the most of the course is about energy efficiency and software, but we also focus on other aspects of sustainability. Individual sustainability as in how to make sure that your software organization is actually helping developers or all the stakeholders be more productive and satisfied with the work environment.

So we call it individual sustainability. and the social sustainability, how your software is affecting democracy or how is it affecting the wellbeing of individuals in the soci in the society? And these kind of things are also. Also bring very interesting questions that not always have clear or not, not always everyone is on the same page.

For example, I can bring up the concept of inclusive programming language, but sometimes it's very difficult for some students to understand some, some of the guidelines that we have to make sure that this particular software is inclusive.

Chris Adams: so there's one thing that you spoke about was this, as I understand it, there's an issue about units. Like, what am I using? Cause you mentioned was like power and energy, for example. So that was one thing that you mentioned that was something that students struggle with. And then this thing about like inclusive programming is that like how easy it might be to learn in terms of how many concepts you need to have in your head.

Something like Python or by comparison to like say C plus plus, which has a lot more features than a language, for example, is it that kind of.

Luis Cruz: Now, when we, when we talk about inclusiveness, it's more about some keywords that you might have in your code that might have a meaning in our society. That. That might be not so inclusive. Yeah. For example, there are some guidelines around inclusive language that recommend you not use dummy Variables.

For example, like, uh, dummy variable is something that every code learns, uh, to use, uh, since the first stages, because sometimes you need to have a done variable.

Chris Adams: this is like food bar, Baz, that kind of stuff. When you say dummy. Okay.

Luis Cruz: And, and, and, and these dummy, some guidelines say, Hmm, you might be, you might want to use a different. Word here that, that doesn't denote that someone is silly or this kind of things, or that someone doesn't is not mentally well.

So maybe you want to use just like, I, I don't remember the replacement, but there is a dictionary with a few, uh, new replacements for all these Variables. And usually this is, this is so new for everyone that if you look at the code, no one is following these practices, but every single. Part of this let's call a dictionary has a meaning behind it that it's not immediate for us because we are kind of privileged and that we, we don't need to worry about this.

Or we, we never suffer from, from the users of these names in society, but they will actually affect someone. And, and that's why many organizations are starting to bring this up.

Sara Bergman: I think this is really interesting, cuz I've I remember being to the NDC conference, the conference here in Oslo, it was remote cuz it was 2020 I believe. And it was a keynote about the same concept and I had. thought about a lot of this concept otherwise, but things. Why is it called a whitelist and a blacklist?

When we really mean an allow list and a block list, those words are actually more descriptive, but it's true tradition. We've used other words, for example, if you mean a primary and a secondary data source, why would you use terminology like monster slave, cuz really what you mean is primary and secondary.

They, they better explain the scenario and they're also more inclusive, but I think that's a learning curve for, for a lot of people. No matter your, your age or experience level in the.

Chris Adams: Yeah, I agree. This is something that you you'll see in loads of code bases, kind of quote unquote in the wild as well. And like a, you do see some organiza, some large projects actually starting to adopt this kind of stuff, but on the subject of. Particular kind of like terminology, you said one or two really interesting things there.

Luis, you spoke about the idea of, okay. There's efficiency, but there's also like the individual sustainability and also the impact that you might have on the outside world. And I suppose internally we have. I mean when recently I, I was on a panel recently, and one discussion was basically about this distinction between say green it and green software.

And it for sustainability, like this idea that these are two separate concepts, which may be related, but they're different from each other. And a lot of the time it's very easy to see these ideas being conflated a lot. And, uh, I wonder if this is something that you've seen you've seen on the course, or if you've, or this is something students have been able to kind of pick up quite intuitively, for example,

Luis Cruz: Well, to be honest, I do know the answer. Case on the first class, I made sure that we all have a common definition, but I could imagine that some of my students were expecting something else when they joined the course. Yeah. Because indeed there are so many different names around sustainability about around the green software.

And when I mention green AI, people immediately think about AI for energy efficiency or AI for social good. And. when I talk about green AI, and I'm not saying that I have the right definition. because there are so many definitions that it's difficult to keep up with the right ones. But when I talk about green AI immediately think about building AI systems that are energy efficient, and they have minimal footprint foot painting our.

So, but I'm not claiming that I have the right definition because this is so new. I mean, the first paper on green AI is like three or four years old. And I don't think we are already at the stage where we can say that our, our field is mature, that we can already. Settle on these definitions because maybe next year a new problem will bring will, will be brought into the picture and we need another definition.

And then suddenly we need to rethink about this. And indeed, as you were saying, this, this can be quite, not only encounter intuitive, but confusing. And, and the simple fact that when we talk about sustainable software engineering, Uh, different people might have different definitions. And I'm gonna challenge that definition a little bit.

So some definitions, when we talk about sustainable software engineering also include economical, sustainability. and technical sustainability. And of course we, we don't care about economical, sustainability. Everyone is taking care of that. Saudi the world runs and we don't care about technical sustainability because software is a Newfield is already.

Quite mature for 60 years, we have been studying technical sustainability for software, but just to give you an idea that this doesn't make our life easier, but the good thing is that once we start getting our hands dirty, once we start measuring energy consumption and. Extracting knowledge out of these data and experiments, definitions are just a way of communicating it.

But what we need is groundwork people like-minded that are willing to create new tools, do new experiments, things like. What is the most energy efficient video call platform? Is it zoom? Is it Microsoft teams? No one use, no, no one knows, but if I knew I'll start doing all my calls with a particular system, because I'll know that I'll know there is an impact.

They are actually worrying about it and they are actually trying to, to, to do something about it. So they, they deserve having more users.

Sara Bergman: Yeah, and I think that's an interesting point as well. If you think about students and, and I can only speak from my own experience as I'm gonna self proclaim as a young person, as a millennial or a zillennial, it's a new word I've learned, which is the people between millennial and gen Z. I don't know.

Maybe that's where I fall in. Anyway, I think my generation grew up more with climate awareness. There was never a grace period in our life where we were not aware of climate change or where we did not feel the. Oh, climate change. I cannot remember a time in my life where I was told because I've always known sort of cuz I was, I, I, I suppose I was told at some point that I was too young to remember that now.

So there is an increased desire, I think, to, to lean in and to be part of the solution. I think an easier way for people is, is to use you say you become a software engineer, cuz that's your passion or, or a like researcher in the field, but you still wanna do something to help. And. Applying technology to a climate problem seems like the easiest thing you can do.

Like, yes, I love AI. I wanna use it for good. And that's great. Like we're not saying stop doing that, but I think when you flip it on the end and say, okay, but if the way you're doing this is actually unsustainable, it's kind of maybe not. counterintuitive, but not really meeting what you're trying to do.

And I've been speaking a lot externally, specifically about machine learning and AI. And almost every time I get people after almost frustrated, like, but I wanna know what I can do. And it's like, yeah, but I totally, you, a bunch of things you can do. No, but I don't wanna, I just wanna do my normal stuff, like code away and then like contribute to something.

And I think as a mindset, mind shift that need to happen and you can definitely do both, but I think we also need a bit of marketing for like this, what you said Luis, about building these libraries, doing these case studies, doing the groundwork to figure out, cause it's still very new, but that doesn't mean there are no opportunities and no chances for people to contribute there on the opposite.

There are tons of chances for people to contribute and, and make it a big, significant contribution and difference to, to this.

Chris Adams: So, this is actually maybe a good time to plug for people. Who've never heard this who haven't, haven't listened to previous episodes. Some of the work we did when we looked at AI green, eye green, AI and AI for sustainability. Of issues ago in that we had both, um, Dr. Lynn Kaack, sorry professor Lynn Kaack talking about basic AI for sustainability and some of the specific applications you could actually see in, and also where some of the blind spots might be when it comes to regulators.

But the nice thing was that there was a paper that, that, that she'd mentioned, but also one of the other people on the other guests will, I totally forgot Will's name, but his paper was actually published specifically, like iterating through all these techniques you can actually use. So, if you look through the previous episodes and the show notes, you'll see the paper, which literally says these are some of the techniques you're using.

So if you're using technique a here's how to, here's how to use technique B for almost the same impact, or these are the trade offs you might actually have. And I, Sara, I, I kind of wanna ask you a little bit about some of the study, some of the work that you studied on this. Cuz as I understand it, you were doing a bit of work.

Consensus mechanisms. I don't wanna, let's not dive too deeply into the world of, of cryptocurrencies and, and greening cryptocurrencies, cuz to an extent it feels like the price of the falling price is sorting some of the out for anyway. But there is a whole thing. Like you, you did some work comparing, I think some tools around this, like a like Hyperledger.

Sara Bergman: Exactly. Yeah. Yeah. So back this was my master thesis actually, which was later turned into a paper. At the time blockchain technology, I'm not, I'm gonna refer to it as blockchain technologies sort of remove the economics from it because you can view it as an economic structure, or you can view it as a data structure for this talk.

We're gonna look at it as a data structure, cuz that allows us more freedom in some sense. So at the time blockchain technology was really new. There were very, very few studies and to the best of our knowledge, the study I did was the first study where we actually compared. Blockchain technology to distribute the databases cause especially for permission, blockchains, so where you, where you have traffic, they can achieve a lot of the same use cases.

And it can be interesting for you as a practitioner to know when you should select one or the other. Because in theory, in my mind, a blockchain is kind of like an append only data structure. and that sounded interesting to, to investigate more, cuz it's very different from a traditional distributed database, even though they can do some things very similarly.

So I looked specifically at Hyperledger fabric, which was still kind of new at the time and at Cassandra who, who was a bit older at the time and did a performance comparison, cuz performances is one aspect you can like sustainability is very multifaceted. and when you have a master thesis, you kind of have limited times you can't delve into all the things.

Uh, but yeah, that was, that was the work that I did.

Chris Adams: So Cassandra, a distributed kind of key value store essentially, and a Hyperledger, which I, I, I can't even begin to understand how, uh, or, or talk confidently about hype, about her, the internals of Hyperledger. But I do know, like, since that's been published, There's actually been quite a lot of interesting work moving on from just looking at kind of key value stores, like, okay.

Cassandra, for example, I know that Cassandra's mostly written in Java, is it, is it not? It's primarily on the G JVM, right?

Sara Bergman: I think so. Yes.

Chris Adams: Yeah. I know that there is, there's essentially one, a kind of technique that I've seen relatively new, which I'm. I think I'm borrowing a term that IBM coined about a decade ago called scale in which I think is really interesting because it's essentially creating a API compatible implementation of an existing piece of software that is much, much more efficient in many cases.

So the canonical example would be say, ScyllaDB it's written in a very particular kind of C++ uses like a shared nothing kind of architecture. That basically means that it's. API compatible, but quite a bit faster. And, and as a result, you're able to kind of run the same workloads on a, on a fraction of the kind of resources.

And this is one thing that I've seen. And I'd be really curious about seeing some of that. Well, seeing that study rerun again, because you see that this is a pattern that I've. Seen once. And, uh, I think there are actually other examples. If you do stuff with SQL light these days, there's one called duck DB, which essentially lets you do the kind of large scale or medium data analytics these days, but onto something which is running in a single process.

There's a bunch of really interesting stuff in this field right now, actually.

Sara Bergman: Yeah. And, and I think what, what you said there in the middle was the sort of key, I think performance might not be an immediate. Into sustainability and green software, but the, the packed tighter is, is the keyboard here. Cuz if you use fewer CPU cycles, while you have more free CPU cycles to use for other things, that means you can use less resources.

So that's why we write efficiency is very important. That's also, when we look at machine learning, for example, the training. Time. So the latency you have for that is a very interesting factor for sustainability. And there's been papers published on this to support. It's just not my opinion, other smarter people's opinions as well.

Chris Adams: All right. I'm glad you mentioned the papers thing because Luis, this is actually one thing that I was gonna, I'll just ask you about the course. We spoke mostly about energy efficiency, so far as one or resource efficiency, but like, you know, hardware usage, for example, do. Have have students have had had much luck understanding one of the other pillars, the idea of like carbon efficiency or being able to change the intensity of the resources you might use.

Cuz this is one thing that is relatively new and it's something we've spoken about and where you can use some tools for this. Like what time, for example, to see. How green energy might be. And I wanna name shook a couple of papers, which have been doing some really, really cool stuff in this, but I figured it might be ask worth asking you how students respond to this part here.

Or if that even shows up in the course.

Luis Cruz: Yeah. So I, I was not very long on the, when I talked about units, but we have a. A single class dedicated to units on energy efficiency. And we start with the energy consumption, of course, power consumption, but then we go all the way to, to the data center level in which we no longer think only about energy efficiency, but we also need to think about the carbon footprint carbon.

I. The carbon consumption. What does it mean to be carbon efficient? I mean, what is exactly carbon, right? It's not only about CO2. It's also about all the other CO2 equivalent cases. And, and this, this kind of thing is not clear to everyone, even to me, sometimes I need to go back to the, my documentation and check whether I get the definitions.

Right. So. one class is fully to it, but one cool thing is after, after this class, I think most students got it right? If not everyone. So, so one part of the course is you need to come up with a project that revolves around the tool that will help software engineers build energy efficient software. Or sustainable software, I'd say.

And one of the projects that was developed by one of the groups was a scheduler of software tasks that will take into account the carbon footprint or the carbon intensity of the grid. So that means that when you are scheduling a task, you can say this task takes two hours, but I don't mind waiting 10 hours to get the result.

And then based on this, the scheduler would check what would be the best time to run this task. And this is a very simple idea that is based on a paper from Google. If I'm not mistaken where they have carbon aware data centers in it, they basically decide when a particular task can be run or not, but they have a very complex setup and these students thought, okay, that's a really cool idea.

It works for large organizations, but why not give. The power of these idea tools, just the ordinary software developer, that, that also wants to do something around these lines. So they created the very basic tool. I can share the link to it. It's a prototype of course, because they only had four weeks to develop it.

But you, you basically just. Define, what is the common you wanna execute? What is your time constraints? And there you go. We have a carbon efficient, uh, execution, and I find it quite cool. Uh, another thing, if you, if you allow me, Chris, and since we mentioned blockchain and energy efficiency in the same paragraph, and usually get a lot of people angry about it, regardless of the, uh, The idea or opinion we have about it.

I just wanted to say that, although I'm not against blockchain, I, I think we, we need blockchain, but that also means that we need energy efficiency in blockchain. So we, we need energy efficiency and blockchain and the same paragraph more often, and we need to have constructive conversations. So we need everyone, even the ones that.

Getting rich with Bitcoins. We need all these people to, to, to think about how to solve this problem, because this is a real problem. And, and I'm gonna stop here. I don't want angry people around there.

Chris Adams: Okay. Well, there's one thing that you've actually pointed to. One thing you've mentioned. I mean, if with your position, as a professor, I'm being able to like, have some influence on new developers and new new engineers, I'll happily let you give you that platform to like, say that. Yeah. You should probably be caring about that because.

Yeah. I mean, this is actually one thing we were talking about before Sara, you mentioned one of the reasons you chose to study what you studied on your masters was because there was some influence from one of your professors and they kind of like gave you some of the space to even think about this stuff.

And maybe you might would like explain that, cuz that was a really nice story. I thought.

Sara Bergman: Yeah, absolutely. And I touched briefly on it in, in earlier as well, but this green, it course that I was able to take in my fourth year. Actually, it, it really opened my eyes also to this concept of the duality of it. Like we've talked about in this podcast, not only that you can use software for good purposes, but the software itself actually comes from somewhere and, and data centers are huge when.

If you've never been to a data center, it's kind of hard to fathom. Like they're very fussy in like concept, at least to me, like if you come from a kind of normal non-data science background as a kid, which most kids do field trips to data centers, aren't that common yet, then it can be hard to understand just how big this impact can be.

Around the time I took this course, it was at the time relatively new paper. And I was like older paper that compared the carbon footprint of the ICT sector and placed the dust at 2%, which was the same as aviation. And that's a number I still see quoted over and over and over again because it's so impactful.

Cuz we talk a lot about aviation, but we talk less, but not more about. So, yeah. Simin who was the professor of that course and Mikael Asplund, who is on the big influence from Linköping university in Sweden. They were my supervisor and oh, I dunno the English word for it. Whoever approves your master thesis person.

Luis Cruz: Maybe promoter.

Sara Bergman: yeah, possibly that's the word I'll I'll I'll address you. Yeah. To give me the space to, to explore this deep end and they have done more research on energy EF. later as well. And I think it, it is so important to have that influence when you are sort of mallable I guess you never stop being mallable, but you're truly mallable at university.

So I am forever grateful to having had that opportunity so early. And actually my university enforces you, everyone has to take one course that has a sustainability topic. You cannot graduate until you've done that. Which also think is a good way. Cuz there are like, for some reason, some political. Tied into this, which I personally, I think is unnecessary, but there are for some people, but this way is a good way to make sure everyone at least gets a baseline of knowledge,

Chris Adams: All right. So we're coming up to last, like say a few minutes of the episode. So I figured while we're talking about some of the people whose work that's. who you'd recommend or point people to. And what add is it Simin? TU? I need you to pronounce it one time. Cause I'm not very good at that name. I'm sorry.

Sara Bergman: Simin Nadjm-Tehrani

Chris Adams: okay. Well make sure that's definitely in the show notes because that's, there's definitely worth looking at well we're here. I'm Luis. Is there any, are there any people you'd recommend or you think is whose work. Suggest people look up because there's a couple of names that I found really interesting of late, and I figure this might be a nice way to kind of wrap up with a top topic of pedagogy and learning from existing state of the art.

For example.

Luis Cruz: Yeah, I, I, I can, on top of my head, I can think of two rock stars. Elina Eriksson. She's an associate professor KTH. She has been awarded a number of times for her work on a education of sustainable software. Sustainable I CT in the universities and of course, Patricia Lago from view Amsterdam. She's one of the first researchers in green software in our software engineering C.

So, if you want to have an interesting landscape of, or, or, or a role model for research and education on sustainable software engineering, they are definitely, uh, worth, uh, follow.

Chris Adams: All right. I'll add a couple because just recently. There was a series of conferences. The ACM had a conference specifically about energy and there was one paper, which was co-authored. I think Colleen Josephson was the, uh, one of the lead authors. She did some really interesting stuff about this whole idea about like your student mentioned about moving.

Uh, basically, uh, time shifting compute in various places. That was one thing that I found really fascinating, and that was actually actually talking about, okay, she works at VM where these are the numbers we've sat, we we've seen and been able to use. And here's how we're actually where to productionize some of this stuff.

And the other work that I think is really interesting, I'm probably gonna, uh, mispronounce her name as well. And I'm so sorry, uh, for the author, I think it's Bilge, Bilge Acun or. Um, there was a work called carbon Explorer, which is both online on GitHub and is also a really fascinating paper that was also presented at that conference, which I think is consider as like one of the state-of-the-art things here.

Actually, I found it really, really worth looking through, because once again, this was someone who's worked doing some work at Facebook, looking at the ways that they're able to achieve the targets. Carbon reduction year on year going through this. And they both looked at the load shifting part. They looked at using mixing in renewables and they actually put together a server to, for each, each, every single data center.

Talk about what the optimal mix was for each of these. I've never seen that work before and it's really, really worth looking. And I've when I looked up at work, there's like just so much there to look at. It's so nice seeing that stuff in the open. Sara, I wanna give you kind of the last, the last word on this, cuz I'm sure there's some other people who've, who've actually found interesting or whose work.

I know fan of, or you direct people's eyes to, I suppose

Sara Bergman: Absolutely Sabine Canditt she recently wrote a book. It's in German. So sadly I can't read it, but I've had the synopsis explain to me. And she, she talked to me about the book I was interviewed also for it. Hannah Smith is another great educator. Who's involved in climate action, tech and green tech Southwest, I believe is the community.

And also Sandra Pallinger from, from Microsoft. Who's also involved in climate action tech, who I really.

Chris Adams: I didn't know that you were gonna mention Hannah, but, uh, the thing I probably need to say is that Hannah recently joined, uh, the organization, a work app called the Green Web Foundation. And she's now heading up all the training. So I'm, I really glad, happy to hear that. You've mentioned that because yeah, she's working on a bunch of that stuff.

So if this is interesting, 21, who's listening then. Well, I guess there's a plug Luis. I feel a bit embarrassed about mention talking about our own organization here. So I'm probably gonna. Try and leave the last word with you about this, because you've mentioned this course. If people do wanna find out more about this work that you're doing, or some of the other output that you are, you'd like to kind of people to look at, is there a particular website or is there a space you'd share?

Cuz we'll share the link to the, the, the engineering course, but there may be other things that you wanna draw people's attention to for.

Luis Cruz: Yeah. I mean, definitely. If you wanna have a quick start on sustainable software engineering, please do share the link at the end of the podcast podcast. I'm not gonna say it out loudly, but please do check it. I also write frequently. So if you check my personal website, I have a blog where I try to write the same content of the course, but in a way that is more friendly for the internet reader.

so I try to write it in the form of blog posts. So if, if you wanna reach out, of course, you can also follow me on Twitter, please. I'm Cruz, and I'm more than happy to interact to, to hear any thoughts or any feedback about the course. If there are more ideas. That are more content that I should add, please let me know.

And I'm, I'm making this request not only to salary increase, but to anyone out there, because I think this is how we can evolve and how we can change our software industry.

Chris Adams: Cool. Thank you, Luis.. Well, I think that's taken us up to the time we have left available. Sara. Luis. Thank you so much for joining. Yeah. Have a lovely evening or morning wherever you're in the world. Okay. Take care. Hey everyone. Thanks for listening. Just a reminder to follow Environment Variables on apple podcasts, Spotify, Google podcasts, or wherever you get your podcasts.

And please do leave a rating and review. If you like what we're doing, it helps other people discover the show. And of course we'd love to have more listeners. To find out more about the Green Software Foundation, please visit greensoftware.foundation that's greensoftware.foundation in any browser.

Thanks again, and see you in the next episode.