Read the Professor Karim Ali section.Professor Karim Ali#
Read the Computers and Cairo section.Computers and Cairo#
Professor Karim Ali is a Professor in the Faculty of Computing Science at the University of Alberta. He specializes in “program analysis, compilers, security, and usability of static analysis tools.”
He teaches CMPUT 229, 496, 605 and 664 at the University of Alberta.
Check out his personal website over here: https://karimali.ca/
You can find out more about his research here: https://apps.ualberta.ca/directory/person/karim2
Check out his research publications here: https://scholar.google.ca/citations?user=TC8495oAAAAJ&hl=en
Here are some important tidbits from the interview:
- Check out the dialogue at 4:48. Professor Ali discusses his most difficult project.
Read the Karim Ali 4:48 section.Karim Ali 4:48#
So that was actually a project that I started in my last year as a PhD student. And it took me six years to publish that paper.
Many people told me to just give up. But I believed in the work so much that whenever we got an objection for the paper, I was like, yeah, I’m just going to work a little bit more on it, change this, change it this way, change it that way.
And it was it was one of those papers where you do a lot of empirical evaluation and empirical studies on different programming languages, and how they compile basically, to be able to run them and how that affects the way that you can analyse programmes that are executed or implemented in those languages.
And it took me along with my collaborators, about six years. So I started that project in 2013. And we published it finally, in 2019, 2019. Even though—like it was just a one-off project, it wasn’t leading to any other line of work or anything, I hold that paper very dear to me, because it was perseverance that got it out there eventually at one of the top journals in our field as well. So that was really a very rewarding experience.
- Check out the dialogue at 7:40. Professor Ali discusses the importance of networking.
Read the Karim Ali 7:40 section.Karim Ali 7:40#
So in my PhD, networking was not really the case. I learned that in my postdoc, which I did with Eric Holder in Germany. This is the topmost lesson that I valued learning from him during my time there.
How you can branch out in your network and how you can talk to people, industry partners, so they can partner up with you, maybe convince them that what you’re doing is practical enough. And I guess this is also where I started thinking about things that are going to have more impact in practice, because of my natural collaboration with industries that came along the way.
Talk about your work, be proud of what you’re doing. If you do believe in what you’re working on, because you believe that this is worth pursuing and worth doing, you’re going to be proud talking about it to people.
You’re not doing it because other people think it’s good, you’re doing it because you believe that it’s good. And it’s worth doing. And if that’s the case, it’s going to tell people whether you’re genuine about what you’re doing or not. And if you are, you have a higher probability of convincing others of the worth of the work that you’re doing. And that’s how most of my collaborations came about, just talking to people because I’m excited about what I’m doing.
And I keep talking about it when I go to conferences, or when I chat with people at any venue that I go to. So, collaborations spark all of these kinds of conversations.
- Check out the dialogue at 10:47. Professor Ali discusses skills important to being a researcher in Computer Science.
Read the Karim Ali 10:47 section.Karim Ali 10:47#
I think I kind of disagree that these are skills that you naturally have, anybody can do research, anybody can excel at doing research as well. I think the one skill that I have, that I think makes a difference between somebody who’s good at doing research, and somebody who’s not, is the ability to learn and--what’s the word here, being open to learning things.
So that’s the one thing—that’s the one skill that you need to learn. Like, that’s what I tell my PhD students, when they start, or my grad students in general, or even undergrads, when they work with me, you own the project, you own this line of work, it’s yours, you need to learn how to learn in the first place.
I’m not going to teach you how to program in a specific language or how to do a specific task. My task is to advise you and guide you along the way. So that you’re able to learn what you want to learn later on. Because at the end of the day, research is all about, you don’t know what problem you’re going to work on next. You don’t know what the solution to the problem is, because you don’t know what the problem is in the first place.
So you need to identify that problem. I need to find a solution to it. If I teach you a specific thing for a specific task, yes, it might work and might work really well. But it will only work once and you need to have lots of tricks in your bag.
- Check out the dialogue at 20:00. Professor Ali discusses what he wants from students in his lab.
Read the Karim Ali 20:00 section.Karim Ali 20:00#
Yeah, be professional, but be open and it’s fine. If you don’t feel like working on one day, just tell me. Because then if we agree on a deadline, or if you agree on something, I can now want to adjust my expectations as well as know that you had an off day. I also have off days, sometimes I just wake up on a Thursday, I cannot do that when I’m teaching because I have to go to teach. But I can wake up one day, and I just don’t feel like working today. And that’s fine. We all have that. Yeah. But just communicate that. That communication is important.
Read the Full Interview: section.Full Interview:#
Read the Abdul-Samad Olagunju 0:00 section.Abdul-Samad Olagunju 0:00#
Let’s just make this a natural conversation.
But I’ll just start off with an easy question. What is a day in your life like?
Read the Karim Ali 0:11 section.Karim Ali 0:11#
Oh, my day, like a working day or just like a week—just a working day, alright.
On a typical working day, I usually wake up at five in the morning. On the days that I work out, I go to the gym at six, finish my gym class and come back. I have maybe my Turkish coffee because I like drink coffee.
So that’s typically the beginning of the day that I just started working, then I have lunch and continue working after that. And then it depends like, well, nowadays, I go to the office here.
Like only on Tuesdays and Thursdays are the days I’m teaching, otherwise, I’m working from home for the rest of the week. And then after that, I tried to get in a couple of hours woodworking at home.
Read the Abdul-Samad Olagunju 1:00 section.Abdul-Samad Olagunju 1:00#
Oh, okay. Wow, woodworking?
Ever since I saw some videos of a guy creating a table on YouTube from scratch, I’ve been thinking, I got to learn how to do that.
Read the Karim Ali 1:12 section.Karim Ali 1:12#
Yeah, I got into it last year when the pandemic started. I need something else to do because working from home and teaching from home and meeting from home and everything from home, I needed something different to do. So, woodworking was my goal.
Read the Abdul-Samad Olagunju 1:27 section.Abdul-Samad Olagunju 1:27#
Yeah, that makes total sense to me. Last year too, studying from home—it wasn’t fun. So, I think maybe now we should start going a bit more into the kind of research you do. When I looked over your personal website, the thing that got me interested in interviewing you is the fact that you’re looking at real world situations.
SWAN, I’m pretty sure that’s what it’s called, and other things involving security analysis. You’re looking at taking your research and using it to improve things.
Where did this desire come from? Why aren’t you just focusing on research? Why did you choose to also apply to real world situations?
Read the Karim Ali 2:16 section.Karim Ali 2:16#
Good question. So, I think this all started when I started doing my undergrad.
I did my undergrad back in Cairo, in Egypt. And then I was very interested in security. Like, how do people secure their network against attacks? How will they defend against a potential attack that may happen against them, like a denial-of-service attack and stuff like that.
So it was all really hands on experience, and I actually took a course in one of the summer semesters—it was computer security. And it was designed in a way that basically each group sets up a camp, a network camp, that is designed so you set up like a couple of servers, a couple of client machines, and I need to provide services on that Windows server for the other groups in the class. And then basically, your goal is to defend your services against potential attacks, but also attack the other teams. And basically, winner takes all at the end of the semester.
If you take down the services of the other teams and you maintain your services, then just write your report and you pass the course. So, I think that created a sense to me that I need to do something that is more practical, something that they can relate to something, that the outside world can relate to, something that people can use.
And that translated into when I did my Masters, it was about network security. And then when I continued doing my PhD in a different area of programming languages, those were the areas where I thought that I could have an impact in real life.
There is a whole bunch of ways that you can go about research, you can develop theorems, you can develop algorithms, you can develop theories, you can develop all sorts of things. But for me, at the end of the day, I want to see what the impact of my research in real life. And SWAN is one example, where we can see the research we’re doing in programming analysis and how that may actually help people secure mobile applications on their iPhones, iPads, tablet devices and so on.
Read the Abdul-Samad Olagunju 4:30 section.Abdul-Samad Olagunju 4:30#
So, what’s been the most rewarding project in your opinion, or maybe not the most rewarding but the one that like, you know, sometimes you have to push over the hump, and you get really, really excited when you accomplish something? Have you ever been in a situation like that?
Read the Karim Ali 4:48 section.Karim Ali 4:48#
So that was actually a project that I started in my last year as a PhD student. And it took me six years to publish that paper.
Many people told me to just give up. But I believed in the work so much that whenever we got an objection for the paper, I was like, yeah, I’m just going to work a little bit more on it, change this, change it this way, change it that way.
And it was it was one of those papers where you do a lot of empirical evaluation and empirical studies on different programming languages, and how they compile basically, to be able to run them and how that affects the way that you can analyse programmes that are executed or implemented in those languages.
And it took me along with my collaborators, about six years. So I started that project in 2013. And we published it finally, in 2019, 2019. Even though—like it was just a one-off project, it wasn’t leading to any other line of work or anything, I hold that paper very dear to me, because it was perseverance that got it out there eventually at one of the top journals in our field as well. So that was really a very rewarding experience.
Read the Abdul-Samad Olagunju 6:02 section.Abdul-Samad Olagunju 6:02#
What was the pressure like? I understand maybe after the first and second year, what your boss like? Was he putting pressure on you?
Read the Karim Ali 6:09 section.Karim Ali 6:09#
So, like my supervisor? I mean, that was in collaboration with my supervisor, and another professor and collaborator from IBM research. We all believed in the work. But as a student who started the work, I was the one who did most of the work.
Of course, they were very encouraging, encouraging me to pursue, and then continue working on it to get it out there. But the thing is, you also feel the pressure because you are a PhD student, and then you’re about to become a faculty member, hopefully, or even work in industry or something, you want your papers to get published. This is so you can rack up more publications and build up your portfolio and develop your CV so that when you apply for jobs, people will value your application highly or evaluate your application.
Right, so that was the pressure. But I always believe in doing work that I believe in, regardless of what others think about, because if I always keep in mind what others will think about what I’m doing, I’m not going to do anything, because everyone has their own opinion. And they are entitled to that, right?
I do what I believe in. And I believed in this work, I believed in this paper, and I believe that it should land somewhere that is a top venue in our field. And eventually, that was the case.
Read the Abdul-Samad Olagunju 7:27 section.Abdul-Samad Olagunju 7:27#
So you talked about how you had your supervisor, and you’re working with like, collaborators from IBM, how do you get all this collaboration going? What are the networks that get you into this research?
Read the Karim Ali 7:40 section.Karim Ali 7:40#
So in my PhD, networking was not really the case. I learned that in my postdoc, which I did with Eric Holder in Germany. This is the topmost lesson that I valued learning from him during my time there.
How you can branch out in your network and how you can talk to people, industry partners, so they can partner up with you, maybe convince them that what you’re doing is practical enough. And I guess this is also where I started thinking about things that are going to have more impact in practice, because of my natural collaboration with industries that came along the way.
Talk about your work, be proud of what you’re doing. If you do believe in what you’re working on, because you believe that this is worth pursuing and worth doing, you’re going to be proud talking about it to people.
You’re not doing it because other people think it’s good, you’re doing it because you believe that it’s good. And it’s worth doing. And if that’s the case, it’s going to tell people whether you’re genuine about what you’re doing or not. And if you are, you have a higher probability of convincing others of the worth of the work that you’re doing. And that’s how most of my collaborations came about, just talking to people because I’m excited about what I’m doing.
And I keep talking about it when I go to conferences, or when I chat with people at any venue that I go to. So, collaborations spark all of these kinds of conversations.
Read the Abdul-Samad Olagunju 9:10 section.Abdul-Samad Olagunju 9:10#
Yeah, and I was also wondering, when you’re working on your own project, that’s a different process. But as you start to branch out more, you start to collaborate more, you start to learn from people. Eventually, you start working your way up the ladder, and you have your own students nowadays. How was that switch? What was difficult to learn?
Read the Karim Ali 9:34 section.Karim Ali 9:34#
The hard part about the switch, so there are two things at the time when I was a student.
It was relatively easier because then I’m focused on my own little bubble world that I’m living in and I’m doing one thing and one thing at a time and that’s it. But then again, like the more you branch out on the market with people, the more opportunities you have. You have to do lots of interesting stuff, but then you have to manage your time well.
So that’s, that’s the one thing that I had to learn over the years, like how I can manage my time better as a user. Like, as I go up the ladder, basically, I’ll have my students managing their projects and I’m collaborating with all of them on their projects as well, as well as our external collaborators to the group. So, time management was the thing that I had to learn along the way, and there were a few lessons—hard lessons along the way, as well.
Read the Abdul-Samad Olagunju 10:24 section.Abdul-Samad Olagunju 10:24#
So, what skills do you think you gained, or you just naturally had, that set you up to really succeed in a lot of the things that are going on in your field, and also be able to improve and keep up with all the changes? Technology is rapidly changing all the time. So, what skills are important to you?
Read the Karim Ali 10:47 section.Karim Ali 10:47#
I think I kind of disagree that these are skills that you naturally have, anybody can do research, anybody can excel at doing research as well. I think the one skill that I have, that I think makes a difference between somebody who’s good at doing research, and somebody who’s not, is the ability to learn and--what’s the word here, being open to learning things.
So that’s the one thing—that’s the one skill that you need to learn. Like, that’s what I tell my PhD students, when they start, or my grad students in general, or even undergrads, when they work with me, you own the project, you own this line of work, it’s yours, you need to learn how to learn in the first place.
I’m not going to teach you how to program in a specific language or how to do a specific task. My task is to advise you and guide you along the way. So that you’re able to learn what you want to learn later on. Because at the end of the day, research is all about, you don’t know what problem you’re going to work on next. You don’t know what the solution to the problem is, because you don’t know what the problem is in the first place.
So you need to identify that problem. I need to find a solution to it. If I teach you a specific thing for a specific task, yes, it might work and might work really well. But it will only work once and you need to have lots of tricks in your bag.
Read the Abdul-Samad Olagunju 12:09 section.Abdul-Samad Olagunju 12:09#
Okay. Let’s get a little bit lighter with the questions we’re asking. Where’s your favourite place to go and get some food?
Read the Karim Ali 12:28 section.Karim Ali 12:28#
I just, oh, food? Totally. Totally chocolate or chocolate? Well see, I forgot the names of the building.
Read the Karim Ali 12:35 section.Karim Ali 12:35#
It’s before butter doctor.
Read the Abdul-Samad Olagunju 12:37 section.Abdul-Samad Olagunju 12:37#
In first year, I was just sticking to the food that they gave us in the cafeteria. And now I kind of want to know, what are the best spots on campus.
Read the Karim Ali 12:50 section.Karim Ali 12:50#
Chopped leaf is really, really healthy. But it’s relatively expensive. But I usually just get food with me from home, I actually try to stick to my food from home as much as possible.
Read the Abdul-Samad Olagunju 13:03 section.Abdul-Samad Olagunju 13:03#
And another thing, when COVID hit, how did this force you to adjust your plans?
Read the Karim Ali 13:13 section.Karim Ali 13:13#
So interesting story. So in the term—which one was it, it was winter 2020.
Right. So the year before that, sometime in the fall, September 2019 or so. I teach computer architecture and assembly language. And I wanted to do some changes on the course to improve how students perceive the course. Because over the years, like this course is known to be very difficult, very challenging, very tough, many of the students dropped the course midway through the semester.
And I always thought that this is something that needs to change, like this cannot be a good thing to have. So I talked to Professor Cosette from the centre of teaching and learning. She’s a professor here in education, I believe, if I remember correctly, and I scheduled an appointment.
You can do that, like any professor can do that with CTL consultation. You can consult with them about things that you want to improve in your course. They can help you through the process. And I remember we had a couple of meetings, each one a couple of hours or so.
I walked her through all my things, my syllabus, things I want to change in the course, things I want to do differently, and so on and so forth. One of the things that I wanted to change was I wanted to livestream my lectures and record them and then make them available to students afterwards. Because I decided I’m not going to do slides anymore.
And I’m going to explain on the whiteboard. So that was one way to provide some form of content that students can go back to and review after the lecture because then there was no slides anymore.
I started that in winter 2020. So on day one, I started live streaming and started recording and I even bought like a camera on a tripod. I go to class, I set up my mic, I improved on my setup along the way, because at first I was using my laptop, the camera was not good and the mic was not good.
So long story short, I started live streaming and doing things online in the winter. So in a way that transition to online towards the end of the semester was kind of instead of doing the same class, I’m doing it at home and using my iPad instead of the whiteboard. So the transition was not as tough as it would have been if I didn’t start that. But I think later in the year and in winter 2021, that was way too hard, because then it has been almost a year since people have been locked down.
And at least in the winter 2020 I had some in person relationships with the students before we started doing things online, we only have like three lectures or two weeks of online lectures at the end, right. But in fall 2020 and in winter 2021, I haven’t seen any of the students.
Read the Abdul-Samad Olagunju 15:58 section.Abdul-Samad Olagunju 15:58#
Just zoom black screens.
Read the Karim Ali 16:01 section.Karim Ali 16:01#
—Talking to the board. And over time, like students are exhausted, I’m exhausted, all of us are mentally drained, and we just couldn’t take it anymore. And yeah, things were tough, especially last winter, I think on the students more than anyone else. So that’s why I’m really happy. We’re back in person, even with all the risks and everything, but I think nothing beats in person teaching.
Read the Abdul-Samad Olagunju 16:25 section.Abdul-Samad Olagunju 16:25#
Yeah. 100%. Yeah. And another thing that I just finally want to ask you, if you could go back, like let’s say, five or six years, to when you really got started in your journey. What would you tell yourself? Like, what would you tell yourself to like, avoid or things to focus on?
Read the Karim Ali 16:47 section.Karim Ali 16:47#
Take it easy. Take more breaks. This is a marathon, not a sprint. This job is definitely a marathon, like you spend your time as an assistant professor before you get tenured and promoted to being associate professor. You’re sprinting everywhere. You want to get funding, you want to hire good students, you want to publish papers, and you’re doing all sorts of things like three, four jobs at the same time. So it is sprinting. But you need to slow down a bit and take things easy.
Read the Abdul-Samad Olagunju 17:21 section.Abdul-Samad Olagunju 17:21#
So you don’t burn out.
Read the Karim Ali 17:23 section.Karim Ali 17:23#
Now I feel the burnout is starting to kick in. Luckily, it kicked in towards the end of that period, like, like my assistant professor period. But for some people it might kick in earlier than that. So keep it easy. And it is a marathon, not a sprint. So you need to look ahead, like it’s a 40 kilometre race. It’s not a 100 metre sprint.
Read the Abdul-Samad Olagunju 17:51 section.Abdul-Samad Olagunju 17:51#
You need to think about the long term and don’t burn yourself out. Yeah. But if you’re going to hire students who work in your lab right now, what else would you tell them about the way they should work? The kind of habits they should have? What advice would you give them?
Read the Karim Ali 18:11 section.Karim Ali 18:11#
So the advice that I give students to join my group is the following.
Just like a student shouldn’t expect me to work, for example, over the weekend or nights, that’s my expectation from you, I’m not going to ask you to do something on a Friday night. And for Friday 5pm I won’t ask you to do it for Monday, that’s not going to happen.
Like, I usually try to be empathetic, I’ve been a student before. So I always put myself in the shoes of the student that I’m collaborating with. And I will never do something to them that I wouldn’t like to do in that situation, if I was a student.
But my recommendation is, you should own the work that you’re doing. You should own whatever project that you’re working on. It’s yours. It’s your PhD thesis outline. I’m here as an advisor or a collaborator as somebody with more experience that can help you along the way. This relationship between a supervisor and a student will not work unless there’s open communication about everything. If, for example, we agree, that I’m expecting you to do like an evaluation or an experiment, and we are having a meeting on Thursday, we should talk about it if you keep stalling for whatever.
If you keep stalling, let’s say you have some personal issues, and you cannot do the work that we agreed you’re going to do. And then you don’t tell me until we meet on Thursday, I have already built up my expectation that in our meeting, we’re going to discuss this if you don’t tell me beforehand, then there’s this appointment and when this happens multiple times, then the relationship starts to deteriorate and it’s not going to work anymore. So open communication is very important.
Read the Abdul-Samad Olagunju 19:58 section.Abdul-Samad Olagunju 19:58#
So being professional is key.
Read the Karim Ali 20:00 section.Karim Ali 20:00#
Yeah, be professional, but be open and it’s fine. If you don’t feel like working on one day, just tell me. Because then if we agree on a deadline, or if you agree on something, I can now want to adjust my expectations as well as know that you had an off day. I also have off days, sometimes I just wake up on a Thursday, I cannot do that when I’m teaching because I have to go to teach. But I can wake up one day, and I just don’t feel like working today. And that’s fine. We all have that. Yeah. But just communicate that. That communication is important.
Read the Abdul-Samad Olagunju 20:34 section.Abdul-Samad Olagunju 20:34#
Yeah, that’s one of the things, I think, also in my personal life, trying to just be more open, share what’s going on. That’s why I had the idea to get this started off. Yeah, yeah. Just do more open things, share the things that are going on. Yeah, yeah. Because I think a lot of the professors here, a lot of the student clubs are doing amazing things. But just not enough people know about them. Yeah. So yeah, I think if we could share it a little bit more, I think that would be great for everybody here.
Read the Karim Ali 21:05 section.Karim Ali 21:05#
Yeah. And I really applaud your focus on doing that. I think the university needs more of these kinds of initiatives.
Read the Abdul-Samad Olagunju 21:11 section.Abdul-Samad Olagunju 21:11#
Yeah. It was great talking to you. You shared a lot with us, a lot of information. We’ll definitely get something going right now. It’s in the baby steps.
So yeah, we’re looking forward to hopefully seeing you again soon. Thank you. I appreciate this a lot. It sometimes is hard to get in touch with people so that they can share their experiences with you. Thank you for giving me the chance to talk to you today.