On Trustworthiness of Sources While Gathering Information About Software

Read the fine manual

Time and time I see people who follow all these random online tutorials and then when something does not work they become dazed and confused. “Why this does not work? But this tutorial shows that it should work” – I see similar questions occasionally in various forms on forums and IRC. I think people do not realize that there is some kind of hierarchy of trustworthiness of information sources. We should be conscious of that hierarchy when looking for information and remember it when we notice that something is not correct or up-to-date.

In my opinion, the field of studying history has already nailed this down. They have what is called the primary and secondary sources of information.  Primary sources provide direct evidence about an event, object, person, or work of art. The latter thing is similar but they talk and analyze the primary sources [1]. It seems to me that we can draw a parallel between this and the information sources that we use to study programming. However, instead of having a simple distinction between primary and secondary sources, a hierarchy is more suitable because we are talking about researching a thing that we have in front of us at present and we can experiment with it. The only question that remains is: how does the hierarchy look like?

At first, let’s think about what kind of sources we have when we are talking about programming before making it. Personally, I can list these items:

Zeros and ones representing byte code

  • The actual machine code in the executable or the file that you are examining. This can be considered the primary source in programming. What is inside there is actually executed on your machine so you know that it cannot lie. However, it is very hard to decipher and not very informative. Thus, even though it is the most trustworthy, it is very unfriendly to the person that is trying to learn.
  • The source code that was compiled to make the executable or a file. In terms of trustworthiness it is almost as good as machine code and it is a very good source from which to learn because source code is written for humans and lets you understand everything relatively easily. The only downside is that you have to know that the executable/file that you have been actually made from that source code. Projects such as the reproducible builds [2] help with that but still that is not available everywhere and you have to be sure that the source code corresponds to that executable.
  • Empirical observation of what system calls the executable is executing, what kind of options are available, what is the output of various commands and so on. This source of information tells you what is apparently available to you as a user but you cannot be sure about what is exactly happening in all cases thus it is not so trustworthy. Also, by using this source information you cannot know what options and commands are exactly available. What if there is a hidden feature or something that is not documented in the output?
  • Standards. Now we are entering into the zone where we are not even talking about the actual file/program on your computer. Standards are much more trustworthy than the next item because they are usually governed and released by a rigorous organization such as ISO [3] or ANSI [4]. Also, a lot of deliberation and work goes into making sure everything is correct, orderly, understandable, and that there are no contradictions. On the contrary, they are not so easy to use like the next items because most of the time you have to pay to get the standard. Also, usually they use more technical parlance than the next item.
  • Documentation released by the manufacturer, vendor. Quality of information released by the original makers tend to vary a lot. However, it is usually well structured, easily understandable so it is not hard to skim and find the relevant information that you are searching for.A book with flowers
  • Books. This source of information tends to be researched more than the item that goes after this one in the list. This is due to the fact that after the book is released, you cannot change it. Also, most of assertions in books need to be backed up by quotes or citations. However, because it is not made by the original company or a group of people that made the executable/file, it is less trustworthy than the previous item. What is more, the topics of books’ chapters have a tendency to be more abstract than the manuals so sometimes it might be not so easy to find information that you are looking for when compared to official manuals.
  • Community tutorials, forums, wiki pages, articles. These are the least trustworthy because of the anonymous nature of the Internet. Anyone could write anything and you are never sure if what is written was researched well. There is a reason why no one uses web pages as serious sources of information in the academia. On the other hand, it is very accessible because almost everyone has a mobile phone or a laptop with an internet connection on it nowadays.

We can produce this picture after listing the items:

Hierarchy of Information

My point is that everyone should always keep this in mind. Also, now if someone is doing the same mistake I mentioned at the beginning, you should refer them to this article or this hierarchy. I hope this was useful. Please comment if you do not agree with anything mentioned in this post or if you want to discuss.

Experience with Audio Books: 24 hour edition

Recently I have been trying out a pretty old phenomena by now that is called “audio books”. Well, what is it actually? It literally is just how it is called. These are audio records where someone is reading the book that you are interested in. It mostly took off after Apple released the iPod and now it is available everywhere because high-speed internet connections are attainable by the general public and services exist like Audible where you can purchase audio books and download them easily. Obviously, they let you get the same content from books that you would otherwise get by reading but it has some downsides as well. Well… what are they? I will present my own point of view after finishing almost two books in approximately 24 hours of listening.

Audio books are really not like real books

If you started listening to audio books and expected them to be just like books – you are wrong. It IS a different format just like watching plays in a theatre are different from reading the actual plays and imaging it all yourself. The narrator adds its own spin to the content and you do not have the same relationship with the book when you are reading it yourself. The narrator is between you and the book. This has negative and positive consequences. For example, you have to deal with the fact that sometimes the narrator might not add the emphasis where you would want to or the words will be pronounced poorly and you will not be able to understand what is being said. It is not so easy to add a bookmark whenever you mishear a word and come back later to it. Whereas when you are reading a physical book, you can instantly see the word. Applications like Audible are trying to make this easier but still it is tedious to go back and listen to it again, try to understand what is being said. On the other hand, it frees your eyes from actually reading the books and you can focus on other things while ingesting the book content.

Audio books are perfect for times when you are doing brainless work

During the course of the day, there is a lot of periods when you are doing some physical work that requires no brain activity. Some of the examples include doing house chores or running outside. I have found that listening to audio books during these moments was the best thing because your brain is completely free and you could focus on understanding the speech and what the author is saying. That also means that you will be engaging your brain while doing those things so you will become smarter whereas, for example, listening to music will make your brain number and will give you no positive effect.

Also, this means that you will be able to read much more books than usual. I commute 2~ hours every day so that means that I could easily get through a book every week. Now that laudable 1 book a week goal does not look so scary, does it?

Audio books tend to cost more

Unfortunately but audio books usually are pricier because not only you have to pay the person who wrote the actual book but you need to pay the people who made the audio version as well. And it usually consists of a lot of people: the narrator, audio engineer, person who mastered the audio, not to mention the cost for renting a studio with audio equipment and so on. Even though sites like Audible help with driving the costs down with its credit system but it is still not enough. Logically it is just not possible to make the audio books cheaper than the printed books only because there is more people and things involved in making it.

Audible is restricted geographically

It is really sad that in 2017 we still have this thing. I have tried to buy the audio book version of the book “Freakonomics” but it is and still is unavailable in Lithuania. Audible just shows this notice:

Shows that they are "sorry" that this is not available

I mean come on… it is just an audio book. I could buy and read the actual book. It was even actually translated into Lithuanian. But the audio version? Nope. I do not know what is in the publisher’s minds but I hope this will get fixed soon.

Overall thoughts

At first it was very to get accustomed to actually listening to someone else read the book for you. In these 24 hours it got significantly easier, my listening skills improved drastically, and now I can actually increase the audio playback speed to 1.5x. The statistics and achievements tabs in the Audible app give me something to boast about and, even though it is not very good, it gamifies the listening process. I think that in the next 24 hours my listening skills will improve even more and I will get addicted to listening to books. Let’s see what the future holds.