Profile picture

John Ling

  • Student
  • Founder
  • Developer

About Me

Who?


A bit about me


Hello! My name is John Ling.

I am a 16 year old student living in Malaysia currently taking A levels. I study mathematics, physics and computer science as most of them align with my own interests. While I have a fascination with many fields of technology, I've found my interest is mainly in programming. Personal projects are my favourite aspect of programming as I enjoy building practical applications to help myself or others. From conceptualisation and design to the small triumphs debugging code, I enjoy all of it.

I am also the founder of a charity named Plugged In Malaysia which refurbishes broken computers and distributes them to two charities. As of now, 166 computers and counting have been donated. I continue to manage the charity to this day.
Picture of me with the EARCOS Award for 2022

What?


My tools for the job


I have been programming for 5 years in a variety of different languages such as Python, C# and Javascript. Over the course of my journey, I've picked up many more skills needed to build intuitive and scalable applications. All of my skills are self-taught through online resources or MOOCs such as CS50.

When picking new technologies to learn, I don't always go towards the cutting-edge, "trendy" frameworks. I'm equally as likely to learn Winforms over React and the same rule applies in reverse. My mindset is that as long as one learns the principles a framework teaches; which framework one chooses to learn first does not matter.

My reasoning for this approach stems from second-hand experience watching content creators online and accounts from friends working in the field. From large corporations to up and coming startups, the tools and technologies they use vary differently. A developer that can adapt to quickly use new tools will be more valuable than one who specialises in one framework and cannot learn anything else.

Languages

Python
C#
C
SQLite
Java
HTML
CSS
Javascript

Software

  • OpenCV
  • Bootstrap
  • Sass
  • jQuery
  • Winforms
  • Flask
  • Beautiful Soup
  • Selenium
  • Wit.AI

Hardware

  • Computer Aided Design (CAD)
  • 3D Printing
  • Arduino + ATmega328p
  • Raspberry Pi
  • Circuit Design
  • Refurbishment

Tooling

  • Ubuntu Server
  • Docker
  • Bash
  • NGINX
  • SSH
  • Git
  • QEMU-KVM + VFIO

When?


Where it all began


My interest in computing began at 12 years old when I would enter global competitions such as DXC Codes.

While I had taken some Python introductory classes the year before, my first true project was created in September of 2019. It was an automated kahoot player using the Selenium library which while primitive, I was proud of as something I built myself.

Ever since, I've continued to build a multitude of projects such as desktop applications, embedded devices and websites. The timeline below shows significant projects I have created.

Timeline

  • Kahoot Bot

    September 2019

    Where I started. A simple Kahoot bot built with Python and Selenium.

  • Covid Companion

    March 2020 - May 2020

    A Python desktop application using NLP and webscraping to provide per-country COVID-19 information and answer health related questions.

  • Harvard CS50

    January 2021 - August 2022

    Started and completed Havard's CS50: Intro to Computer Science. I completed modules 1-5 in 2021 and modules 6-9 during 2022.

  • Prompt Pal

    July 2021 - August 2021

    Android Java app developed with colleague as part of the Young Innovators Challenge. The app generates random prompts for activities for teenagers to do during the lockdown. Won Bronze against 300 schools.

  • Kahoot Bot V2

    September 2021 - June 2022

    To celebrate two years of learning to code, I rebuilt my Kahoot bot as a multithreaded desktop application using C#, Winforms and Selenium.

  • Cameraman

    November 2021 - June 2022

    An OpenCV powered motion system that locates a teacher's face from a webcam stream and uses motors to adjust a camera to the teacher's position in real time. Designed to both increase the viewing angle for online students to ensure they don't miss content and make hybrid teaching more seamless.

  • johnling.me

    June 2022 - July 2022

    My personal portfolio website to talk about myself and showcase both web development and design skills. Created with Bootstrap HTML, Sass and Javascript.

Why?


Why code?


I enjoy applying theory and skills I know to build things for myself and others to assist in their everyday lives. Whether it be a Raspberry Pi powered dashboard, face recognition tracking system or charity, in the endall my projects are rooted in a desire to help others even in a minor way. Code and by extension Computer Science as a whole presents a new perspective and method to problem solving with its own strengths and weaknesses.

Many tools are available online for free making programming accessible to all backgrounds. The availability of professional tools means one is never limited in scope when programming. It is that ease of access combined with nearly limitless potential that gives me reason to code.
Plugged In Malaysia photo