11 Mar 2020

Writing articles

History / Edit / PDF / EPUB / BIB / 1 min read (~72 words)
  • Define what is it you want to communicate
  • Define why it is you want to communicate what you want to communicate
  • Write down all the topics you want to cover
  • Organize the topics in a structured manner (i.e., an outline)
  • Write a draft
  • Expand the points of the draft
  • Review the grammar with https://www.grammarly.com/
  • Use keywords services to find topics that may be related and interesting to cover
10 Mar 2020

Wearing a face mask against COVID-19

History / Edit / PDF / EPUB / BIB / 2 min read (~202 words)

Should I wear a face mask against COVID-19 if I'm not sick?

Protecting yourself vs protecting others
Source: https://medium.com/@Cancerwarrior/covid-19-why-we-should-all-wear-masks-there-is-new-scientific-rationale-280e08ceee71

If you have masks already, wear one. It will protect you from others and others from you.

The official answer from the Government of Canada and the CDC is that wearing a face mask is not an effective solution to protect yourself against the virus.

If you are sick and you need to go out in public, wearing a face mask will help reduce the chances of spreading the virus to others.

If you want to avoid being ill due to the virus, the best way to do so is to avoid being exposed to the virus. This means staying at home in isolation.

09 Mar 2020

Criteria for using a library in a project

History / Edit / PDF / EPUB / BIB / 1 min read (~119 words)

What do I look for in a library before using it in a project?

It has to be maintained so that I know that issues are addressed.

It has to be supported so that I know I'll get help if needed.

It has to be highly used compared to other solutions to ensure it's more feature complete and of good quality compare to other libraries.

It has documentation so that I don't have to read the documentation to know how to use the library for common cases.

It has to have a simple API that does what I need so that I don't have to deal with weird/incomplete API that do half of what I need.

08 Mar 2020

Reducing your error rate

History / Edit / PDF / EPUB / BIB / 3 min read (~430 words)

How can I reduce my error rate when using my skills?

When using skills in which you can make mistakes, it is important to monitor what you do and where you make your mistakes. Like any performance optimization problem, you want to figure out where you make the most mistakes and where you'll benefit the most from fixing those mistakes. If you make the same mistakes 100 times at the cost of a minute each time, that may be preferable to making 1 mistake that cost 100 minutes to fix, given that once the mistake happens, the cost stays the same.

Document your skills. Write down what you do, when you do it (triggers) and what kind errors you make during those steps. Evaluate how many times you make that mistake and how long it costs to fix. Then when you use your skills, track when you make mistakes and how long it takes you to fix the mistake.

As an example, think of a software engineer doing code reviews. Reviewing code requires going through a variety of checks: is the build passing? is the functionality properly implemented? are there tests? are the new files in the proper location? Without a list, the engineer is left looking at the code without any clear checklist. If he is methodical he will have a list he goes through in his head. If not, then he will most likely only look at the code and give it a summary opinion, that is, whether he likes what he sees, or not.

Given a non-explicit methodology it is hard to assess where the mistakes are made and which mistakes cost the most to fix. If you don't check that tests were written for the new functionality or changes, what impact will it have in the future? Depending on how likely the code is to change, the likelihood that something gets broken may be significant. While adding a test may require a few minutes, one has to judge how much time would be wasted if a bug were introduced in the piece of code. As code complexity increases, so does the cost of fixing issues in that code.

With an explicit checklist you will be able to track the things that you want to verify before code is merged. As your checklist covers more and more cases, this list will reduce the likelihood that the person who wrote code made a mistake that gets to production. By the same token it will increase your effectiveness as a software engineer to produce quality code.

Is it possible to extract someone's beliefs by reading their writings?

Yes.

If someone has written a blog for example, it is possible to figure out a variety of information about them simply based on what is written in those articles.

If someone writes about a specific software, we may not be able to infer right away what they think about said software, but we know that they've spent enough time to learn a bit about this specific software. If we know all the other alternatives in this category of software, we could infer that the user believes that this software is possibly better than the alternatives, otherwise why would they have picked it?

If the writer writes a lot on a topic, that is also a clue about their beliefs. They probably think that this topic is important, hence why they write about it. Maybe they write about this topic because it is lucrative to them.

What the writer doesn't write about is also informative. If they write mostly about technology, maybe they don't care about politics or sports?

It is possible to extract if-then rules from their writings, which generally expresses some form of believe that if something then something else. There are other variants where only if is provided (if something, something else, or something else, if something).

A writer may use certain adjectives to describe things as "easy", "simple", "straightforward", "difficult", "impossible", "hard", etc. Those are also useful of indicators of the writer's beliefs.

Nowadays with LLMs it's easy to provide a prompt such as "What beliefs are expressed in the following text" or "Extract the beliefs in the following text". With a bit of scripting we can extract everything available on the blog and feed it to a LLM to let it extract the beliefs for us.