Coding Shall Set You Free
On the way back from lunch in Mensa on the LMU campus in Martinsried one summer afternoon in 2019, Lutz said to me,” Ravi, I want you to get good at MATLAB® before the end of your Ph.D. You won’t have to depend on anyone if you can write your programs”. He was right, and I knew it at that very moment, still in the early days of my Ph.D and figuring out the logistics.
I soon made my breakthrough with programming, and before long, I fell in love with it. Having learned C programming long ago in college and mostly never using it for anything throughout my master’s in Genetic Engineering and a few years of research fellowships afterwards, I was apprehensive about the challenges ahead in my doctoral work.
At the time, I had a peculiar problem in the shared office. There was a high-pitched noise coming from somewhere. It was unsettling. When I complained about it to Lutz, he gave me a little task. To reproduce a matching tone programmatically! I was not allowed to use my ultrasound microphone and find the frequency.
And I did it!
It was a simple enough task but challenging enough for a beginner. I was happy. I soon learned that my brain likes it when programs run and produce results. I started answering “How are you?” with, “Any day my scripts run is a good day, no matter what else happens.”
In about half a year, many things changed. Lutz had left us. A few months afterwards, like much of the world, we went into lockdowns and social isolation. It was a terrible time to pursue a PhD, and that too without a supervisor.
For about two months, I was depressed. On a sunny day, I woke up and decided that all I could do was try and try I could my best! Nothing is more potent than a feeling of, “What am I gonna lose if I just try?” to boost your motivation.
With a little bit of effort came much satisfaction, and soon, things started making sense. I was getting better at programming. I learned how to calibrate an enormous set of microphones and loudspeakers, building on a basic script and help from another colleague.
As a researcher, I started to see the details of the problems to be solved in day-to-day activities. “What is not working, and why? How do I solve the problem? What is the key?” In approaching all of the issues with the building and calibrating my 45-channel microphone-loudspeaker array, I learned programmatic skills to understand the problems and arrive at solutions. Nothing made me happier than working codes.
I had to move the TUM campus, move myself to Freising, rebuild my setup and resume my experiments.
After rebuilding the setup, I started to develop scripts for training protocols for behavioural experiments with Phyllostomus discolor. Building stepwise, I soon had the most extensive program I had ever written, combining audio and video hardware and real-time playback with a convolution engine thrown in the flow. My experimental program ran over a thousand lines. It worked but did not look well done. My next goal was to learn more and do better with programs.
With a vast dataset, I was ready to analyse the crap out of it! or so I told everyone.
It got much more interesting than I had expected once I started writing scripts to analyse my data, which consisted of synchronised 45-channel audio and high-speed video.
I had many ideas. The only way to realise any of them was to write code. And this is something nobody can do for you. As aspiring novelists must write their own stories, every research student with ideas must code their programs. There is no other way. Amazing things come out when ideas and skills blend. I was only limited by my coding skills; the ideas were plenty.
The more I wrote code, the happier I felt. It was satisfying to make progress. I felt confident when I started to see that I could not only conceive ideas but realise them with simulation, analyses, or even present them in lines of code. I felt independent. I felt empowered! A sense of strength began to grow. It helped me overcome my depressive symptoms, too.
I still have some way to go before finishing my PhD, but my efforts are already paying off. Today, I am no longer afraid of learning to code; I do it for fun! I wanted to write better and streamline my writing with citations. So, I learned LaTeX! I wanted to share my work and experiences with the world, so I learned Jekyll and a bit of HTML and Liquid and familiarised myself with GitHub; here is the website! I work a part-time position building hardware projects. For that, I learned CPP. I build and prototype medical assistive devices, and there, too, I am only limited by my coding skills and time.
I learned how to learn and how to learn anything. Training in science has that effect on most people. Problem-solving has been the most prominent outcome of my research training, with a heavy toolkit on the side. And I aim to put these skills to good use.
Truly, intellectual accomplishments can be life-changing. They set you free.
Circumstances can be challenging, but “a will to learn and make progress no matter what is what PhD all about”, as Lutz once put it.
All of this would not have been possible without the support of my mentors and colleagues.
And yes, I discovered the source of the high-pitched noise: an old monitor on the side of my table. The old transformer inside was producing an almost pure tone at 12 kHz. Now, that is not a musical tone, not to humans anyway.
Cite As: Umadi, Ravi (2023). Coding Shall Set You Free, Retrieved from https://biosonix.io/Coding-Shall-Set-You-Free