Soothing colors

Click here to view and edit the source code.

An approach to practice and learning

We are what we repeatedly do. Excellence is not an act, but, a habit.

After 14 years of teaching at university, one of the most common and frustrating problem I've seen is the lack of emphasis on practice as a requirement to learn. Many people claim that they know that practice is important to learning, but, their behaviour says something completely different. I've seen many students repeat a task or activity over and over until they have done it correctly - at which point, they stop. From the outside perspective, that student has repeated the activity incorrectly multiple times and correctly once. By stopping when they've done it correctly, the students have forgotten that practice makes perfect. Once the student has learned to perform the activity correctly, it becomes even more important for the student to keep repeating the activity in order to develop a habit of excellence.

Writing software requires the same approach. Learning a programming language is the beginning - not the end goal. After learning a programming language, repeated practice is required to improve intuition and recognition of the nuances of different techniques.

The importance of practice is no surprise in the world of art. Many great artists produce collections of works that often span their whole adult life. It is uncommon to find an artist or musician who is sufficiently satisfied with their finished works that they stopped practicing their art or music.

Through this website, I hope to encourage people to practice writing software and creating digital art. The journey is more important than the destination.

JavaScript programming combined with art and maths

Architecture is the thoughful making of space. (Louis Kahn)

The breakthrough moment for me happened when I realized that software has become an artistic medium, like acrylic paint or a charcoal pencil. Although I've been interested in art since high school, I never felt that I acquired enough expertise with a particular medium to produce interesting pieces. But, after 30+ years of experience crafting and teaching software, I actually feel that I have mastery of software as a tool. Starting a new JavaScript program and looking at a blank computer screen is like picking up a pencil and looking at a blank sheet of paper - anything is possible!

Maths has been a significant part of my education and work. At the age of 10, I immigrated from Viet Nam to America and had to learn English in primary school. My parents and the teachers were extremely supportive during school. Three years after I arrived in America, they encouraged me to write the entrance exam for the Gifted Math Program and I was fortunate to qualify for entry by scoring in the top 60 scores. From there, I studied engineering at Harvard University and then worked in the financial services industry.

Digital art is an exciting opportunity to combine my professional software experience, maths background and personal interest in art. I will be adding my own work here on this website using the p5js JavaScript graphics library. The Processing language website provides an online exhibition of digital art for more inspiration.