“When I was 9, my parents bought me an 80286 PC with a black and white monitor, a 5.25” floppy disk, and 640kb of memory. We relied on PrintMaster to design posters and Wordstar to do basic word processing,” Dr. Lau Cherhan said. “One day, I found this program called Basic, and I was able to do Mathematics, play simple tunes and print colorful text, and that is how I began coding. Being able to code and write programs to solve problems kept me motivated.”
He then began coding with Basic from the age of 9, and he even tried to understand the source code of Microsoft’s version of snake. He later started using HexEdit to modify the saved files of the game so that he could have unlimited ammo for instance. And this further spurred his interest for technology and he learnt to use Lotus 1-2-3 (a first gen spreadsheet program), Dbase and the SQL language.
Armed with this knowledge, he began building simple software with the aim of helping companies and NGOs better manage their employees or members. He later picked up the C language and a software development system called Turbo Pascal that enabled him to write programs that carry out simple accounting functions, control input and output, and print receipts with a 9-pin dot matrix printer.
He later helped implement a barcode base library system in his high school back in 1995, and he also began tutoring people that wanted to learn Basic programming. Having been in the industry for over 20 years, this is one way that Lau uses to keep up with the rapid changes in the tech industry.
“Teaching and sharing are how I hack the way of keeping up with the changes. The swift development in tech is difficult for a single person to follow at a constant pace. Through teaching and sharing I get to learn multiple problems in one go, and navigate through the students’ thought process while finding the solutions,” he said.
He also frequents sites such as TechCrunch, Mashable to keep up with all the macro trends in the world of technology, and he also stays up-to-date by subscribing to dedicated email lists, and by frequenting platforms like Twitter, Reddit, Medium and Facebook.
“Keeping myself up-to-date with technology news is the most challenging daily task. One way to deal with this issue is to talk to more people and pick their brain. I found out that this is a more interesting way to absorb information than just by reading,” he added.
However, the demand and use of web technologies soon began to grow rapidly after the dotcom boom, and in order to keep up, Lau had to pick up a new array of programming languages including ASP.NET, Java, PHP, Django and Ruby on Rails.
Programming languages empower coders to express themselves much like the same way we express ourselves through normal languages. However when it comes to programming, the language or framework you know greatly determines what you can do within the realm of technology.
Birds, Nokia Smartphones, And Machines
From the time he first began coding, he has worked on numerous projects including on an audio-based birds detection project at the Microsoft e-research center in 2007.
Through this project, they deployed Nokia smartphones as sensors in rural areas and they were able to record and analyse the call of different birds, perform spectrum analysis, and they used large amount of birds’ calls collected from the natural sciences database to train the system to identify birds and the type of bird that’s making a call.
They event built their own solar panels and utilised the mobile phones in such a way that they could also interact with other sensors, and they could collect and analyse data pertaining to the wind, temperature and humidity of that region.
Outside of such cool projects, Dr. Lau was also the winner of the Microsoft Excel World Championship and he recounts the experience as one of his key career highlights. “It was an amazing experience where you see people around the world using an ordinary tool to solve advanced problems,” he said.
Data Science And The Shift To Functional Programming
He believes that data science will enable individuals to understand things quicker from multiple perspectives, and it also provides him with an opportunity to explore fields outside IT such as weather and finance. He also conducted technical courses on Hadoop and its use to store and analyse large amounts of data.
This year however, he’ll be rolling out a larger variety of technical courses that will focus on topics such as data scraping, text analytics, sentiment analysis and machine learning.
“Data science is indispensable to the tech world. With the volume of information flowing every second, we can’t imagine a business to process transactions, handle data, engaging customers and make decisions without using data science,” he claimed.
He also believes that there will be a greater shift towards functional programming (e.g. Scala, Erlang, Haskell) this year, as more systems would require language level scaling rather than just reliance on hardware.
And he also feels that this year, we would see more BackEnd-as-a-Service (BaaS) platforms like Firebase flourish and they will in turn enable front-end developers to focus more on design, and create complete applications without worrying too much about the backend.
Even though people often perceive him as a top student due to his PhD degree, he feels that he’s just a below average student who continues to persevere to achieve milestones in a field that he loves.
At the end of the day he believes that his passion keeps him excited and focused on his goals. Speaking of his ultimate goal he said, “Using technologies to solve real world problems and to make the world a better place. I love innovations and new technologies that are able to help people to make life simpler, so that we get more time to do things we love such as spending quality moments with family.”
|Inside Dr. Lau Cherhan’s Toolkit|
|Vim||“A lightweight text editor that allows customisation for me to speed up coding using shortcut keys.”|
|MEAN stack||“I am particularly using NodeJS to write backend applications.”|
|Python||“I wrote Python scripts to handle daily tasks and using iPython to process and analyse data.”|
|Slack||“Slack is the primary communication tool to share information and run online meetings and virtual hackathons.”|
Code Artisans is a biweekly series that aims to highlight notable coders, hackers and software developers in Malaysia. If you have anyone in mind that’s worthy to be featured, drop an email to email@example.com.