


One day, a senior engineer approached me quite persistently, asking for a field in our tool to be renamed. This tool was an exclusive domain for a select few, including me, to make changes. This engineer had collaborated with me on and off for about a month, adding numerous fields. Amidst this flurry, I assumed that the field she wanted to rename was among the newly added ones. Hence, I thought it best to rename it sooner rather than later.
In retrospect, I should have exercised more caution. What’s worse, the tool should have alerted me that renaming the field would result in the loss of all associated data linked to the old name! This blunder initiated a long journey to restore the lost data to production. We relied on a few change logs collected to build some Excel files. However, in order to finally generate the key data pair back before we updated the impacted records, we need to do data joining and reordering across various excel files.
Though the process seemed visually and conceptually straightforward, the sheer volume of records led to the fact that only coding could help to accomplish the task.
Taking on this challenge was no longer a dread, thanks to my newfound coding companion — ChatGPT! My boss considered me fortunate, as the field in question was hidden with limited exposure and usage. With silent skepticism, he granted permission for me to proceed with the data restoration effort, while we used Excel sheets to meet the urgent needs of end users.
After around eight hours of testing and coding, the task was ready for deployment. In the course of this endeavor, I occasionally crashed my ChatGPT mobile app and I noticed for one occasion my prompt to the bot caused it to pause and think for nearly one minute. These observations led me to simplify my inquiries and seek assistance in a more modular fashion.
The coding experience was a thrill beyond words. Let me explain why.
My programming journey commenced during my freshman year in college, equipped with five-hole punched tape, glue bottles, and a peculiar hole-punching tool for code modifications. We coded in ALGOL60, our first programming language, which was then transcribed onto 5-hole tapes using specialized electric typewriters operated by trained technicians. Lab sessions required us to don lab jumpsuits, leave our shoes at the door, and interact with monstrous machines that converted our code into output prints — 0 for success and 1 for failure, with brutal simplicity.
Recalling my thinning hair today, I attribute it primarily to my freshman year’s code debugging frustrations as I might have had done too much scratching of my head while debugging. The process of mending code was equally implausible. Armed with a unique tape hole punching tool and glue, we patched holes or punched new ones, saving precious time of the technicians and resources of the five-hole tapes.
That may also partially explained why the ten girls of the initially forty students in my class had better grades in our first year’s coding classes, as our needlework skills suddenly helped a lot compared to our clumsy boys classmates in terms of patching holes on a less than an inch wide paper taps.
I also need to point out that my class of forty students was among the very first batch to form the first Computer Science Department in our university’s history. And one of the forty was even sent back to his hometown after one semester as our dean found out he had six fingers on his right hand. That was deemed a no-no for computer science study back then.
In my four years of computer science study, we started by traveling back in time to the early 1960s, as many universities in China back in late 1970s and early 1980s could only afford some super old, out-of-date computer mainframes on the international market. Hence our first programming language was ALGOL 60. We then jumped to use the photocopy versions of Stanford University’s Knuth 1968 “The Art of Computer Programming.” We treated the series as a computer science bible and they were among my favorite text books even though I could only comprehend one tenth of it at that time. We formed focus groups to drill down some of those algorithms and met almost on daily basis until one day someone pointed out the organizer of these focus groups was having other motives than study itself. We stopped. (The organizer got very mad and eventually went to MIT and became one of the most prominent China Computer Science National Academy Fellows.) Our newly formed lecturers themselves largely came from the mathematics background and learning the computer science theories and practices just as we did and perhaps a few days, if not weeks, ahead of us.
Knuth’s three volumes were hurriedly translated into Chinese and distributed to the early birds’ computer sciences departments in China. Back then, the total of such new departments nationwide was less than five. The concepts in these books were so foreign and new to us. We soon felt compelled to consult the original English versions, which I was lucky to purchase using my pocket money at the Foreign Language Bookstore in Chengdu, where we could find so many photocopy /pirate versions of these books.
The hole punching glue mending experience as the main source of debugging and fixing code deflated the illusion of the potential power of computers that my dad constantly and enthusiastically tried to inject into my mind. The monstrous and noisy metal boxes were too stupid and rigid to understand my lightweight and quick fluid thoughts. I had to waste so much energy translating my simple instructions to very long obscure 1s and 0s to get the message across.
Fast-forward to my graduate school years, where I delved into information retrieval and operation automation using dBase II — a more promising language. Looking back, my college years spanned computer history of almost 20 years between 1960 to 1980s, resembling a time-traveling experience. This unique journey during my early youth is something I’m immensely grateful for and it always brings back a lot of amusing memories whenever the occasion arises.
Finally, ChatGPT fulfilled the coding experience I dreamt of during my college years. Now I finally could communicate in natural language, and a bot would efficiently generate well-tested code snippets from libraries. Witnessing this day arrive after years of work brings me immense joy, as I continue to explore the world of coding.