Concurrency – ramp up your skills

Yesterday, I gave my Extreme Concurrency talk at rg-dev user group. After the talk I had some really interesting discussions and was asked to provide some resources in the low level concurrency I was talking about. So here’s the list of books, talks and blog posts that can help you to ramp up your skills

Videos:

  1. [C++] Herb Sutter “atomic Weapons” – it’s about C++ but covers memory models in a way, that’s easy to follow and learn how it works
    1. Part 1
    2. Part 2

MSDN:

  1. .NET Volatile class – it has a good description of what half-barriers are and properly shows two counterparts Read & Write methods
  2. .NET Interlocked class – the other class with a good description providing methods that are executed atomically. Basically, these methods are JITted as single assembler operations.

Code:

  1. RampUp – a project of mine 🙂
  2. [JAVA] Aeron – the messaging library

Books:

  1. Concurrent programming on Windows by Joe Duffy – this is a hard book to go through. It’s demanding and requires a lot of effort but is the best book if you want to really understand this topic

Blogs:

  1. Volatile reads and writes by Joe Duffy
  2. Sayonara volatile by Joe Duffy
  3. Atomicity, volatility and immutability are different by Eric Lippert – that’s the last part of this series
  4. [JAVA] Psychosomatic, lobotomy, saw – the name is strange but you won’t find here disturbing videos. What you’ll find though, is a deep-dive into memory models.

Cel: MVP

[PL]

To będzie krótki post. Po spojrzeniu na moją aktywność w roku 2016 postanowiłem zgłosić swoją kandydaturę na MVP w kategorii Visual Studio and Development Technologies. Wiem, że to dopiero październik i wcześnie na podsumowania, ale biorąc pod uwagę liczbę prezentacji, kontrybucji do projektów Open Source, zorganizowanych spotkań Warszawskiej Grupy .NET i postów na tym blogu stwierdzam, że nastał czas na zgłoszenie się. Link do strony do zgłaszania nominacji znajduje się tutaj: https://mvp.microsoft.com/en-us/Nomination/NominateAnMvp Możesz użyć go, aby zgłosić mnie raz jeszcze. Mój email to scooletz@gmail.com

Czasami programujemy w parach, dlaczego więc nie zgłaszać kandydatur parami? Dodatkowo poza mną zgłosiłem Konrada Kokosę. Znacie go dobrze z prezentacji i bloga dotyczącego performance’u i pamięci. Więcej o jego kandydaturze możesz przeczytać tutaj.

[EN]

It will be a short entry. After looking at my activities in 2016 I decided to nominate myself for the MVP award in Visual Studio and Development Technologies. I know it’s quite early to summarize a whole year, but considering number of talks, contributions to Open Source projects, meetings of Warsaw .NET User Group and posts on this blog I can tell that it’s the right time to make it. You can use following link to nominate a person https://mvp.microsoft.com/en-us/Nomination/NominateAnMvp and you can use it to nominate me once again.

Sometimes we program in pairs, sometimes we nominate in pairs. That’s why I nominated Konrad Kokosa. You can read about his candidature more here.

Motivation is nothing

Grit is everything

For sure you saw it before, a person gets motivated to do something. Whether they attended a conference, or saw a video how to do 100 push ups under 1 minute. The thing is that the source of this motivation is external and is just an impulse. It may encourage one to get involved but it won’t help to maintain the habit. I’d say, that you GET motivated sometimes, but you AREN’T motivated all the time. It’s so important to make the next step and see, that to really make something you need perseverance, you need persistence, you need a plan. If you exercise EVERY work day, that’s a totally different than exercising A LOT. The first is a plan, the other is try-to-follow-plan.

Not all-in-1
Remember one thing. If you want to change your life, you can’t do it at once, but rather, you should pick a thing and stick to it. Focus on one thing, make it a habit and move on. With this approach, you can build up a big mental muscle that will help you with next aims. To give you an example I stopped eating sweets and sugar over 1 month ago (this seemed impossible to me).

Mastering one thing at a time isn’t my idea and it has been proven in various cases.

Grit becomes a very popular topic. Don’t just get motivated to learn it some day 😉