Harry Garland

Jazz Musician in Boulder, Colorado

About   Videos   Software


Lifelong jazz musician in the mountains of Colorado. You won't find me on social media. You'll find me here!

35 years ago, I started learning music from the most talented music teachers in California. People ask me what I am thinking when I play, and the answer is: all of the thoughts I've had in my life come to me when I am on the keys.

Today I use my life experience to engage with the audience on more levels than ever before. I have lived through many different social interaction standards. I have found music entertainment to stand the eternal test of time.


Here is a song for the holidays, although it is not a holiday song. When you hear this TV show theme song, you will always remember the Christmas special from many years ago:

Thanksgiving song Over the River with experimental jazz improv:


Somebody just asked me how I can be comfortable giving away my coding secrets. Actually, I would love for my secrets get out because I would love to program computers the way I jam with music...

I create music by putting my ideas out there and feeling how they work with like-minded folks. Computer programming is only different because the ideas come together in very different time frames.

Here's where I subscribe to a culture of programming where we build things together by presenting our ideas and unguarding our secrets:

Example 1:
How to make computer generated piano keys using JavaScript:

In this example, I've gone and created a function that will render any white note. One of the parameters is notch, which is a string enumerator (fancy way of saying it's a multi-way switch). The parameter notch may be "left", "right", or "both".

You can see there are 7 lines of code that start with drawNote. Those are the lines that.. draw each note! Each line of drawNote code going down draws a note going to the right.

Here's the JavaScript code:

Coming up in the next example: How to animate the piano keyboard using JavaScript timer events!

Copyright (c) 2022 by Harry B. Garland.  All rights reserved.