Welcome, I am Andreas Krassnigg, creator and owner of ComputingSkillSet.com. During my life as a physicist, lecturer, business owner, and AI strategist, I have done a lot of computing. Here are a few of the things I learned over the years. The reason for writing them down is that I sometimes wish that somebody had told me something like this, when I came in contact with it first.
Still, there is more to this. When I think about a few of these topics, I have the distinct feeling that somebody actually did tell me something helpful, but I wasn’t ready to fully understand it or accept it to begin with. So I put emphasis on what I think is important for those two things to happen to you, dear visitor: accepting and fully understanding these concepts.
In order for you to understand better, where I come from, here are a few noteworthy things about me:
My Interest in Computing
My interest in computing is based on my early interest in mathematics and physics. During my teenage years, I developed a more specific interest in all things space and universe. During all that time I did a lot of pencil-and-paper calculations, but very little numerical work on an actual computer (gaming doesn’t count, I guess, ahem).
I have to add, somewhat to my defense, that this was during the 80s and early 90s of the past century, in the previous millennium, so to speak. So there were no cloud computing platform, no CPU cluster, no GPU farm, and no smartphone within my home or budget that I would have had access to. But that’s ok, because I was mainly interested in solving problems.
What Computing Helps Us Humans Do
At present, I view computing as a universal tool for problem solving. And we, humanity that is, need such a tool for many concrete problems. Before you think something like “whoa, this escalated quickly”, let me give you a concrete reason as well: these problems happen at a scale beyond our everyday comprehension.
This is a problem similar to quantum mechanics. The phenomena that arise in quantum systems are so different from our everyday experience and intuition that we have a hard time accepting them, even if we comprehend what is going on on a formal level. Same for large complex systems of many parts/individuals/things.
The most recent and unfortunate example for situations that are hard for us to grasp, is a pandemic. There, the internal workings are basic principles, and we are all trying to understand what is going on with several aspects of it.
Still, the whole world is so large and complex that appropriately constructed simulations are needed to make reliable predictions about future developments. At the same time, we should learn to accept the role of variables and unknowns, and how to deal with them properly.
My Personal Starting Point in Computing
While solving problems was an interest of mine, so was understanding stuff. Paired with my soft spot for everything space and universe, I decided to study astronomy and physics, since these were two different subjects at the University of Graz that time. Part of the content was overlapping, though.
As soon as the courses had begun, I realized that there was a lot I had to learn. Some of it involved the use of computers for calculating things, both in a symbolic way, and numerically. The numerical side was completely new to me and lead to a number of fun experiments (in Mathematica at the time). It was during my first year at university that I left a numerical computation running on our new PC at home overnight for the first time.
My Own Computing Skill Set
Over the years, I developed my own computing skill set. When I say this, I’d like you to not only think about the computations going on inside a machine. I’d like to include everything that goes with this sort of adventure: preparing data, organizing the computation, preparing test cases, checking and benchmarking numbers, and interpreting the results.
One of the most important points for me is to always at least kind of know what you are doing and what the result should be. Can I trust this number, just because it looks converged? What are my assumptions about the computation to begin with, and are they justified? Can I shortcut some of the computation and still stay safe (from computing BS)?
This aspect is a hugely important part of someone’s computing skill set, as I view it. Thus, I try to teach these things with higher priority than algorithms or applications. I also put great emphasis on the context of a computation when I write on this website, so don’t be surprised by it.
In terms of the usual, my computing skill set is based on the idea solving problems or questions with different techniques. Numerics is fun and powerful, but, as they say, power is nothing without control (please don’t sue me, whoever’s slogan that was). So, if you push hard in a certain direction, you’d like to know that the direction is correct or reasonable in the first place.
What’s Life Got To Do With It?
That is a fascinating question, indeed. Life (and the universe, by the way) is so complex that it has many surprising situations for us. These are surprising, sometimes because they are counterintuitive. Other times, they are outside of our daily experience, and we have no idea what should happen. But mostly, humans are curious creatures and we love the unknown. At the same time, we quickly develop ideas about situations, people, stuff, you name it.
So, for example, computer simulations can be used to test a hypothesis that we quickly make up in our head. Or to fact check something that sounds strange or off – too large, too small, too expensive, too simple. Or, simulations can be used to investigate and find strategies that help us deal with everyday situations. That may sound like overkill, but it can also be good fun. Think about board games, for some very entertaining examples.
We Understand More Than We Think
This is an interesting point. People tend to say things like “I am bad at math” or “I never understood this” or “I don’t understand physics”. But, as I like to say, we are all physicists by birth. The way a little child learns how the world around them works is by studying the laws of everyday physics through experimentation.
This is also true for more general and abstract concepts, which we learn by talking, watching things, listening to music and speech, learning to read and write, and using our imagination. So, don’t be afraid of learning new things, because you can. I truly enjoy learning new things all the time, including when I work on new computational projects.
Machine Learning And Artificial Intelligence
Over the past couple of years, I have found that I cannot ignore the topics of machine learning and artificial intelligence, AI for short. The main reason for this is that I have a family with two kids who will feel the impact of this new suite of technological advancements much more strongly in their lives than I will myself.
Realizing hat, I immersed myself in all things machine learning. The helpful bit of this story for me was my background in theoretical physics and the no-fear-of-new-things attitude that I have grown over many years.
At the bottom of it all, machine learning is not complicated, just complex, and it needs a lot of seeing-the-big-picture attitude. Whenever I talked to people in the fields of data science or computer science (which is where most of present-day machine learners are coming from), I had the distinct feeling that having a large body of general experience with models and problem solving is an important asset.
So here we go again: my emphasis is not on squeezing one more percentage point out of a model for, e.g., cats versus dogs, but on thinking about whether or not that would actually make any sense, and why.
A Few Words of Closing
In life as in business as in science, there are always new questions to be answered. We, you and I, can make use of our computing skill sets to do just that. So enjoy the (growing) content here, and please let me know of any particular topic you’d like to see covered. I am looking forward to your feedback and suggestions.
More about me on the web
You can find me in a couple of other places on the web, for example: