Knowledge

I am composing issues of .NET R&D Digest for a long time. Besides the digest I occasionally write blog posts and present something on conferences. As the result of this tiny public activity I, from time to time, receive questions like “Where do you get all of these blog posts” or “Whom I can follow to be in touch”, or “What are you using to do that and that”.

I honestly can’t recall everything every time such questions pop up, so I decided to create a page where I am planning (periodically) to include information about authors I follow, books I read (and can recommend to read) and tools I use.

I hope my reader that you will find this page useful.

Table of Contents

  1. Table of Contents
  2. Authors
  3. Books
  4. Topics
    1. Engineering
  5. Tools
    1. Computer Science
    2. User Interface
    3. Languages & Platforms
    4. Regular Expressions
  6. More
  7. References
  8. History

Authors


TODO

  • Bartosz Ciechanowski (blog)
    I follow his blog for a quite a time and posts he mades about engineering are extremely detailed, with stunning animations and clear, easy to read description.

Books


TODO

Topics


I like software development, however, besides programming I also like to read interesting both fictional and non-fictional literature.

This section is a collection of posts about vastly different topics which I think is worth reading and sometime re-reading.

Engineering


  • Bicycle (by Bartosz Ciechanowski) [6]
    This post is a very detailed explanation of bicycle mechanics including why we don’t fall, why it moves, how we turn and why bicycles look like the look. An extremely detailed post, with tons of animations.
  • Airfoil (by Bartosz Ciechanowski) [6]
    This post is a very detailed explanation of the way airfoils work. It includes numerous simulations of air flows and fluid dynamics, explanation of what pressure and viscose are and how they behave.

Tools


I use various tools all the time – at work, when I try to solve some issue, or at home, when I explore ideas, verify things for future blog posts or preparing a talk or a workshop. Most of these tools are online (which is amazing and very generous), so it is easy to bookmark them and access from anywhere.

Collecting tools here doesn’t mean I will copy and paste here every tool I have ever seen, instead, if you are interested in other people collections I invite you to review “More” section).

Author’s note

This section is structures as following:

  1. Every tools starts with a name followed by a reference number in a square brackets and a description separated by the “dash”. Multiple tools can have the same reference, which means they share the same history.
  2. Every reference includes a detailed (as possible) information about the source, usually including information about where I found it and who created it. Sometimes, I can’t recall the source, so in this cases I would honestly write that.

Okay, here are the tools…

Computer Science


  1. float.exposed [3] – a visual representation of floating point numbers.

User Interface


  1. Adaptive Cards Designer [1] – a visual designer to create JSON for adaptive cards which can be displayed in various application like Microsoft Teams, Cortana and so on.

Languages & Platforms


  1. sharplab.io [2] – probably the most used tool, an online .NET compiler. It is amazing to explore what IL or JIT asm is generated for a particular C#, VB.NET, F# or IL code.
  2. godbolt.org [4] – a great tool if you are involved into C++ development and want to see how your code is going to be compiled by various C++ compilers. Support a huge range of C++ and options.

Regular Expressions


  1. regex101.com [5] – an amazing online tool to create and understand regular expressions. It support many regex engine, has built it commands help and provides regex explanations. 

More


In this section you can find references to author’s who composed lists of good knowledge (most of them before this one). The items here aren’t split into categories and will be represented as a plain numbered list.

  1. Playgrounds category by Julia Evans. Every blog post there contains one or more playground for various languages, tools and instruments.

References


  1. I have found it somewhere April of 2022 when I was preparing to a webinar about automation of internal processes which involved approval flow in Microsoft Team. It wasn’t Google who recommended this but I honestly can’t remember where I have found it. The project has a repository on GitHub and is developed by Microsoft.
  2. Pretty close to the previous point. I have a feeling that I am using this tool for ages. This masterpiece is built by Andrey Shchekin.
  3. I have met this tool created by Bartosz Ciechanowski in a post by Julia Evans about playgrounds – A list of programming playgrounds.
  4. I have found this tool created by Matt Godbolt in a comment on StackOverflow when I was dealing comparing output of MSVC and GCC compilers. Can’t recall the exact question/comment or my case (the only thing I remember is that it was related to SIMD and OpenMP).
  5. I found this tool created by Firas Dib in Google in times when my work was closely connected to writing a lot of regular expressions. Used it many times in past and I continue to use it every time I need to write a more or less complex regex.
  6. I found this one in my RSS feed (I am subscribed to many blogs) which is my main source of “what to read”.

History


  • 2023/06/12 – Published an initial set of tools and declared page structure.
  • 2023/06/20 – Introduced a new section “Topics”. Included Bartosz Ciechanowski into “Authors” section. Included Bicycle blog post into “Topics” section. Moved “References” section out of “Tools” to make it top level.
  • 2024/03/09 – Included Airfoil blog post into “Topics” section.