Thinking Parallel

A Blog on Parallel Programming and Concurrency by Michael Suess

New Year’s Resolutions

FireworksI have just finished reading If You Want to Write: A Book about Art, Independence and Spirit by Brenda Ueland. Basically, I raced through it in two days (as fast as I can race when our little son demands some attention as well 🙂 ). With what I have learned from this book I would like to tell you about two resolutions for the new year that I have made to myself.

Brenda has convinced me that my opinion matters and that I should voice it more often. Not that I have not done this in the past :-), but I have also restrained myself from talking about certain topics that I think I lack the experience. Like Software Engineering (I have not worked on many projects that are considered big, but I still seem to have very high standards when it comes to many issues, which is both good and bad for the people I am working with). This will change.

I have also been silent on a lot of parallel programming issues, because even in this area I see so many things that I have never worked with and don’t know enough about. I have never ever written a line of .NET-Threads-code (or any line of .NET-code for that matter). I have not worked with Erlang (although I have looked at it and it seems to have a certain beauty, it still does not strike me as the cure of all concurrent software development problems as many Erlang-evangelists seem to believe and preach). I don’t know Fortran and I have no experience whatsoever with many threading systems on the market.

But still: I am afraid although I can of course always learn new things, this feeling in the back of my head that is telling me there is so much left to learn will never change. Take C++ as an example. I have recently upgraded my curriculum vitae to prepare for my job-search next year and noticed that on paper I do now have more than 10 years of experience with C++. Of course, in the beginning, what I was writing was more like C with classes than C++ and if I want to pull some examples of bad code and show them to my students I only have to look as far as to the code I have written back then. But on the other hand I have spent some serious time reading C++-books in the past and I have also written quite a lot of C++-code lately. Still, I am discovering new things about the language basically every day and I don’t have to look too far to find books that I have a very hard time even understanding (Modern C++ Design by Alexandrescu is one of them). So, even with these ten years of experience, I can see people playing in a whole different league and I don’t expect this to change anytime soon. I am being told by my colleague Björn (who is the most knowledgeable person about C++ that I know) that he feels exactly the same way. Of course, C++ is not the easiest target I could have picked to judge my knowledge about a programming language, as this nice quote by Tom Cargill supports:

If you think C++ is not overly complicated, just what is a “protected abstract virtual base pure virtual private destructor”, and when was the last time you needed one?

Anyways, the point I am trying to make here is that I don’t know a lot of things about a lot of stuff. And that’s OK and it will always be like that, no matter how much I learn. If you have been a frequent reader of this blog you may have noticed that I voice my opinions very carefully anyways and this is for the reason I have told you earlier: I know there is so much stuff I don’t know much or even anything about and although many people seem to consider me an expert in this topic or that, I also do know that this does not mean a thing either – I still do make mistakes even in these fields, I am still constantly discovering new stuff even in the fields I am most familiar with and although I have formed strong opinions about this and that topic, it does not necessarily mean that these may not be wrong.

For this reason, my resolution for the new year is to write more often about all kinds of topics that I care about. This blog will still be about parallel / concurrent programming of course, mixed with the occasional post about optimization. But other topics might creep in as well, so be warned.

My second resolution can be summarized by Brenda Ueland as well, as it is the title of one of the chapters in her book: Be careless, reckless! Be a lion, be a pirate when you write. Usually, I have gone over my posts at least two times before posting them, sometimes a lot more. This has undoubtedly increased the general quality of the information presented in them, which is usually a good thing of course. Unfortunately, it has also taken away some edges that I deemed too risky to publish, some witty remarks of humour and basically something of me that was in these posts and that in hindsight I would have liked to see preserved. I must remember that this is not a scientific publication that needs to be bullet-proof at every corner and that I usually have to read and rework over and over before it is published before it meets my own standards and those of the reviewers. I am usually very tired after finishing a publication and although I am often proud of them, I am also quite sick of them and do not want to see them anymore, at least for a while.

This blog must be different. It is foremost a way for me to express my thoughts and get something of me out into the open. It is OK for me to make mistakes in here, and if they are important I am sure you will find them and point them out in the comments-section. It is OK for me to not go over my posts countless times, because it kills the fun of writing and I don’t want to risk that.

These are my two resolutions for the new year related to this blog. I have told you a lot more about me, how I am and how I am feeling in this one post than in the rest of this blog combined. If you are convinced now that I am just an inexperienced idiot that knows nothing of interest to you, feel free to leave. Luckily, I don’t have to care, because I know now that even if nobody ever read this blog, it would still make me a better writer and man. And because I know deep in my heart that although I don’t know everything, I still know more than enough to express an educated opinion about more topics than I will ever find the time to write about. Thanks Brenda, for opening my eyes as you did. Happy new year everyone.

2 Responses to New Year’s Resolutions


Comments