My Journey into AI with Vim Editors, 4G Internet, and a Pandemic
by Gemmechu M. Hassena
About the author:
Hi, my name is Gemmechu M. Hassena! I’m a senior year software engineering student at Addis Ababa University. I came to work at the University of Michigan through the African Undergraduate Research Adventure program (AURA) in 2020. Throughout my time at Michigan, I’ve worked on a Computer Vision project titled “Scene understanding using humans as a ruler” with Michigan AI Lab members Prof. David Fouhey and Ph.D. student Christopher Rockwell. Our research aims to identify floors and scenes by first identifying people in videos, and then calibrating the size and depth of the scene based on their height. To learn more about our system, watch my presentation detailing our work:
Rather than explaining my research, this blog post details how I got here and how I succeeded as a remote student during the pandemic :).
About AURA: The African Undergraduate Research Adventure (AURA) program is a research exchange program for undergraduate students at the Addis Ababa Institute of Technology (AAiT), Ethiopia. The AURA program was founded by Prof. Valeria Bertacco, Prof. Todd Austin, and Prof. Fitsum Andargie to create collaborations between UM faculty and AAiT students, which could lead to a range of research collaborations. Through the program, students come to Ann Arbor for 12 weeks during the summer to engage in research work with a College of Engineering faculty member.
I have lived across Ethiopia, in different cities and many many houses. We’ve lived in places for less than 2 months, modern-day nomads in short. But wherever I go one, thing is always the same, I will be called on to fix computers, radios, mobiles, or any electronic device that needs repairs in the neighborhood.
Growing up in Ethiopia to learn technology was not easy. The electricity cuts out often. The internet is found only in big corporations, government offices, or internet cafes (which are expensive and slow). With every access I had to computers and other electronic devices, I grew more curious to learn about technology. I taught myself how to edit photos and videos, and this later became the inspiration for me to pursue Software Engineering as a career.
I hear people who come from other countries complaining, about things which for me are quite normal. Let me tell you, and you can be the judge of whether it sounds normal to you or not. In Ethiopia, the electricity will go and come as it wishes, and sometimes it may be gone for 2 weeks straight for no reason at all. And the same goes for water. Is this normal to you?
Yet because of this, everyone is more prepared. Everyone knows that if the electricity is out, one must prepare candles and cook with wood or charcoal. Everyone knows that when water is available, one must fill their reserve tanker.
But most often I hear complaints about how the Internet is slow. Yet I don’t know why people complain so much. It seems people don’t approach slow internet with a backup mentality as they would for an electricity outage or water shortage. Although there’s no equivalent to switching to wood/charcoal or using a reserve water tank, one can walk away from the computer and come back later. And the trick here is that if you want a good internet connection, the basic thing should be to wait until midnight, once everyone’s asleep. This has been my strategy and rather than getting frustrated, I just see it as similar to preparing for outages with wood or a filled reserve water tank.
When I first received an email that I was accepted to be one of the participants of AURA2020 I was super happy and excited. Knowing how AURA2019 had opened a lot of opportunities to seniors at my university, I was thrilled to get started. However, right when the program was about to start, COVID19 got very concerning and we were told we won’t be able to go to the US, and that AURA2020 was instead going to be held online. As happy as I was that the program was not canceled, I was also very worried about it being virtual because I didn’t have an internet connection at home. Living at the edge of the city meant that internet service did not reach our house. Discouraging as the situation might have been, I started thinking of ways that I can still be part of the program and thankfully things started to look up.
“One morning during breakfast my sister said “My mobile card is consuming a lot whenever I turn on the data, can you fix it?”, and she handed me her phone. I couldn’t believe what I was seeing, her phone was connected to 4G! I found this very surprising because 4G internet was not provided to my neighborhood.“
This turn of events gave me hope. I knew that my internet problem could be solved if I just bought a monthly internet package for 2000birr (55USD). Unfortunately, this was more than I normally would spend on food and transportation while at university! However, since schools were closed due to COVID, I decided to invest in the internet package and take part in AURA2020. I didn’t tell my parents I was accepted to a summer program at UMICH, because I worried they would realize we need internet and then think the 2000birr I was spending was way too extravagant. I contemplated telling them why I really needed the internet because surely they would have been happy to invest in my education. But I eventually decided against telling them because I knew telling my parents also meant that I had to explain to my large family. And when I say large, I mean large. I have 73 uncles and aunts! Explaining it to everyone was sure to be dramatic.
It was a lot of pressure to invest in the first month’s internet package with no knowledge of how I was going to pay for the rest. But fortune does really favor the bold. Fast forward a month, the internet had worked its magic on my parents and they had become addicted to having everything at the tip of their fingers. And so they agreed to cover our internet expenses. Ecstatic at the sight of things working in my favor, I was ready to start my journey on the AURA2020 program.
The Freaking Out
When I started the program I really didn’t know much about ssh or remote working on a server. So at first, I couldn’t figure out how to set up my workstation. Once I did that I realized it was not the optimal way of doing it. To give you a glimpse of what it was like, I was only working on the terminal editing code with a lag of around 2 seconds after every line I typed. On top of that, downloading was not an option. I tried downloading files through the terminal and it would run at 12KB/sec meaning it will take forever to download the dataset I was working on.
The lab I joined also has a tradition of giving a starter project when a new person enters and finishing the project took me more than 2 weeks, a longer than expected time. I felt horrible thinking that if this project took me so long, what might I imagine the timeline on my main project would be? Right after finishing the starter project, we started the main project and I started working on completely new technologies I had never even heard about. I was overwhelmed and with my slow connection and terminal editing, it was taking me forever to get even simple tasks done. I asked around and people in the lab suggested VS code to me. It was good but with my connection cutting off frequently, I was better off using Vim (Terminal editing tool).
One of the things I wanted to get out of this experience was to prove to myself that I could do AI. I wanted to get the exposure that would enable me to see if I would enjoy doing AI full time. I was disappointed in my progress and I thought maybe AI was not for me. In spite of all this, my mentors, David and Chris, were always positive and appreciative of my efforts and gave me good direction.
The Learning Begins
In the middle of using Vim as my regular editing tool, I searched if I could use a Jupyter notebook in a virtual setup. I was so happy after I learned it was possible and this became a turning point for me. Suddenly I could write faster and see results more quickly. But the notebook still had disadvantages. I couldn’t train models that took more than 1hr because my network would definitely cut off and I’d have to start all over again. It was during this time of dilemma that I was introduced to Tmux by my labmate Richard Higgins. Tmux works like magic, it runs on the server all the time and my local machine could connect whenever it needed to and attach to whatever state I left it in last time.
Another thing that made my slow internet hard was remote collaboration. I’ve said my connection was slow multiple times, but let’s finally talk figures. In theory, my connection should have been very fast, as it is a 4G LTE connection that will go up to 36mb/s. The problem however is that our area has a very weak cellular network signal as it is a new area where infrastructure is being built. As a result, it was really hard for me to stay in a zoom call for long because my internet would eventually cut off. During which time either I couldn’t hear what my team was discussing or they couldn’t hear me correctly. Thankfully everyone in the lab was very understanding and patient with me whenever this happened.
Have you ever felt down and someone came along and said a few words that boosted your energy in a split second, as it turns out it was all you needed to hear? Even though I now had an almost good remote working setup, the fact that I was slow with the project and didn’t have good results had decreased my self-confidence. It was during this time that David said to me in one of our weekly meetings how smart I am, how hard-working I am. With his kind words, he lifted my spirit, basically pointing out things I did great. That really helped me to build my confidence back and motivated me to work even harder.
Unfortunately, during the middle of the summer, my country went into a total internet shutdown. During the first days, we were in total shock and thought it would be back in a few days. But a few days turned into 3 weeks and more than 1 month in some areas. This had mostly disadvantages but it also had some advantages for me. It gave me time to think about how I can get the most out of this program while enjoying the work. So I came up with a series called “Mini Ethiopia,” where before weekly meetings I would prepare a 1-minute video about my country, exploring topics in a fun and educational way. This turned our meetings into not only a time for me to learn, but also my mentors.
In addition, it gave me time to read papers on the subject matter and brush up my knowledge on computer vision through books. Once the internet was back I tried my 1min fun video and my labmates enjoyed it. David’s favorite video was one about how the movie 2012 was based on the Ethiopian calendar, and with COVID forcing everyone inside, it almost felt like it was the end of the world and only a few years later than predicted by the Ethiopian Calendar. I was also happy to see my pace increase in my tasks on my project.
The Mindset Change
At the end of the day, what was supposed to be a fun, exciting, and adventurous summer of my college career turned out to be exactly that but in a virtual setting. AURA played a big role in demystifying the Ph.D. to me and many of my classmates. A piece of advice I like to go back to is something my labmate Richard had said. He said, “think of us Ph.D. students as just normal students, but we now just also read a lot of papers”. I took the advice and started reading papers and engaging in a paper review study group with other AURA students. When David sent me his dissertation, I saw how the pieces of one’s research fit together into one big picture.
Through the AURA program, my peers and I learned how to apply to a Ph.D. program. We gained the skills and experience that helped us think critically about our career goals. With the encouragement of our advisors and the AURA committee, we applied to multiple Universities which we didn’t think were reachable prior to the summer. All in all, AURA2020 has changed our lives in ways we didn’t think were possible and we are very grateful for the opportunity.
NOTE: This blog post has benefited significantly from the writing and editing help of Simret A. Gebreegziabher