If the software is the music of the technological world, are you on par with Paganini?
I have a deep appreciation of classical music, especially violin: I am genetically wired to like it (I chose to go to musical school into violin, despite my parents having better options for teachers with other instruments and progressed to grade 5), and violin music inspires me to do technological inventions. The music touches my heart, and I would like to share inspiration.
If you look at the evolution of music, Chaikovsky, Mendelson and Bach were great composers, and they wrote music that humans could perform. Paganini wrote a piece of music in a style — “no-one, but I can perform it”, and Pablo Sarasate and Henryk Wieniawski wrote for ten-finger aliens holding a violin — check out the score.
Yet modern musicians can now play Paganini Caprice no. 5 even faster than Paganini himself:
Note the comment: “Kavakos takes 105 seconds to play this. Paganini Caprice 5 has 1,588 notes. 1588/105= 15.1238095238. He played 15.12 notes per second. interesting”. If he played slightly faster, we would stop recognising sounds.
The same way as Paganini (original bowing):
And our musicians who can handle Sarasate’s and Wienavski’s music become younger:
and even younger
Software is the music of the technological world
Working as software engineers, we create music for computers to perform, and while our performers become smaller and more powerful the overall culture that hardware resources are cheap and thus our “music” is more comparable to a drumbeat than to any of the advanced musical pieces by ancient and modern composers.
Stop and think:
- Do you use all cores for your CPU?
- Do you use all network bandwidth efficiently?
- Is your GPU utilised above 50%?
- What is your memory utilisation?
- Do you utilise disk efficiently?
- Will someone looking at your code will frown or smile at your design decisions?
- Do your users have to wait because less than 2 seconds wait doesn’t count or do they get instant response/feedback?
Software is eating the world and the design decisions and efficiency of the software engineers contributes to worsening or improving our planet via more efficient use of available resources — memory, network, disk and bandwidth.
We all can support the green initiative — write an efficient code and be proud of it. And if you are looking for a good example to model in the software engineering world Prof Daniel Lemire https://github.com/lemire
P.S. If you think the pieces above are easy because young musicians make them look soo, compare it with “adult” musicians playing the same parts “When You Realise You Have ZERO Talent” and here “When a 12 Year Old Plays Better Than You”
P.P.S. For hardware geeks, SoHyun Ko in the video above uses violin from 1700 by Matteo Goffriller